是否有一个与IList<T>
的Java List.subList()
相当的.NET?
答案 0 :(得分:10)
使用LINQ
list.Skip(fromRange).Take(toRange - fromRange)
答案 1 :(得分:9)
对于通用List<T>
,它是GetRange(int, int)
方法。
编辑:请注意,这是浅色副本,而不是原件上的“视图”。我不认为C#提供了确切的功能。
Edit2:正如Kamarey所指出的,你可以有一个只读视图:
List<int> integers = new List<int>() { 5, 6, 7, 8, 9, 10, 11, 12 };
IEnumerable<int> view = integers.Skip(2).Take(3);
integers[3] = 42;
foreach (int i in view )
// output
以上将打印7,42,9。
答案 2 :(得分:1)
GetRange
是您的答案