web-dev-qa-db-fra.com

LINQ: comment en ignorer un puis prendre le reste d'une séquence

je voudrais parcourir les éléments d'un List<T>, sauf le premier, en conservant l'ordre. Existe-t-il une manière élégante de le faire avec LINQ en utilisant une déclaration comme:

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

J'ai joué avec TakeWhile, mais je n'ai pas réussi. Il existe probablement une autre manière simple de le faire?

46
Marcel

De la documentation pour Skip :

Ignore un nombre spécifié d'éléments dans une séquence, puis renvoie les éléments restants.

Il vous suffit donc de cela:

foreach (var item in list.Skip(1))
88
Mark Byers

Faites juste:

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

Il y a plus d'informations sur le MSDN et un exemple simple téléchargeable ici

9
ChrisF

Ne serait-ce pas ...

foreach (var in list.Skip(1).AsEnumerable())
3
TomTom