这是可能的吗?
例如,如果我有
List<Item> myList = new List<Item>;
//added 100 of Items to myList
//then I want to grab items at indices 50 - 60
List<Item> myNewList = myList.?
我怎么在不循环遍历myList的情况下做到这一点?
有一种方法可以检索这些项,即 List.GetRange。
http://msdn.microsoft.com/en-us/library/21k0e39c.aspxList<Item> myList = new List<Item>;
myList.GetRange(50, 10); // Retrieves 10 items starting with index #50
var myNewList = myList.Skip(50).Take(10);
这个怎么样:
List<string> myList = new List<string>();
//added 100 of Items to myList
for (int i=0; i<100; ++i)
{
myList.Add("blablabla");
}
//then I want to grab items at indices 50 - 60
// Note: 50 - 60 inclusivly are actually 11 items
List<string> myNewList = myList.GetRange(50, 11);
IList
和IReadOnlyList
。 - Arek