从数组列表中获取固定数量的项目c#

时间:2012-02-28 14:40:35

标签: c#

我想从另一个列表中创建项目的列表变量。所以我想说我有一个100项的清单,我想把项目25 - 35拉到另一个列表中。有没有办法做到这一点,而无需调用一个大的for语句,并逐个拉出元素并将其放入列表中。

3 个答案:

答案 0 :(得分:8)

您可以使用System.Linq .... {/ p>中的.Skip.Take

像这样:

var result = myList.Skip(24).Take(10);

如果您需要在结果上使用ToList来获取另一个列表

答案 1 :(得分:2)

对于List<T>,您可以使用GetRange方法。

  

创建源列表中的一系列元素的浅表副本(Of   T)。

请注意,第二个参数表示范围内元素的 count ,而不是范围的结束索引。

由于您提到ArrayList,我应该指出,虽然它也有GetRange方法,但从.NET 2.0开始,该类型被认为是遗留的。

答案 2 :(得分:1)

同时使用Take和Skip

var newList = oldList.Skip(25).Take(10);