.NET相当于Java的List.subList()?

是否有一个.NET的等效Java的List.subList()适用于IList

使用LINQ

 list.Skip(fromRange).Take(toRange - fromRange) 

对于通用List ,它是GetRange(int, int)方法。

编辑:请注意,这是浅拷贝,而不是原始的“视图”。 我不认为C#提供了确切的function。

Edit2:正如Kamarey所指出的,你可以有一个只读视图:

 List integers = new List() { 5, 6, 7, 8, 9, 10, 11, 12 }; IEnumerable view = integers.Skip(2).Take(3); integers[3] = 42; foreach (int i in view ) // output 

以上将打印7,42,9。

GetRange是你的答案