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

时间:2009-08-17 11:01:09

标签: java .net list collections sublist

是否有一个与IList<T>的Java List.subList()相当的.NET?

3 个答案:

答案 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是您的答案