是否有一个.NET相当于Java的的List.subList()
,工程上IList
?
使用LINQ
list.Skip(fromRange).Take(toRange - fromRange)
对于通用List
,它是GetRange(int, int)
方法.
编辑:请注意,这是浅拷贝,而不是原始的"视图".我不认为C#提供了确切的功能.
Edit2:正如Kamarey所指出的,你可以有一个只读视图:
Listintegers = 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.