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