Подтвердить что ты не робот

.NET эквивалент Java List.subList()?

Есть ли .NET-эквивалент Java List.subList(), который работает на IList<T>?

4b9b3361

Ответ 1

с помощью LINQ

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

Ответ 2

Для общего List<T> это метод GetRange(int, int).

Изменить: обратите внимание, что это мелкая копия, а не "вид" на оригинале. Я не думаю, что С# предлагает точную функциональность.

Edit2: как указывает Камарей, вы можете иметь доступ только для чтения:

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.

Ответ 3

GetRange - ваш ответ