【发布时间】:2010-11-20 05:10:42
【问题描述】:
是否有适用于 IList<T> 的 Java 的 List.subList() 的 .NET 等效项?
【问题讨论】:
标签: java .net list collections sublist
是否有适用于 IList<T> 的 Java 的 List.subList() 的 .NET 等效项?
【问题讨论】:
标签: java .net list collections sublist
使用 LINQ
list.Skip(fromRange).Take(toRange - fromRange)
【讨论】:
对于通用的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。
【讨论】:
GetRange 是你的答案
【讨论】: