LINQ: Как пропустить один, а затем взять оставшуюся часть последовательности - PullRequest
43 голосов
/ 12 марта 2010

Я бы хотел перебрать элементы List<T>, кроме первого, сохраняя порядок.Есть ли элегантный способ сделать это с помощью LINQ, используя выражение вроде:

foreach (var item в list.Skip (1). TakeTheRest () ) {....

Я играл с TakeWhile, но безуспешно.Возможно, есть еще один простой способ сделать это?

Ответы [ 3 ]

87 голосов
/ 12 марта 2010

Из документации на Пропустить :

Обходит указанное количество элементов в последовательности, а затем возвращает оставшиеся элементы.

Так что вам просто нужно это:

foreach (var item in list.Skip(1))
9 голосов
/ 12 марта 2010

Просто сделай:

foreach (var item in input.Skip(1))

Есть еще немного информации о MSDN и простой пример, который можно загрузить здесь

3 голосов
/ 12 марта 2010

Не будет ли ...

foreach (var in list.Skip(1).AsEnumerable())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...