Étant donné une liste d'éléments comme ceci:LINQ pour sélectionner une gamme de membres dans une liste
int[] ia = new int[] { -4, 10, 11, 12, 13, -1, 9, 8, 7, 6, 5, 4, -2,
6, 15, 32, -5, 6, 19, 22 };
est-il un moyen facile à Linq de faire quelque chose le long des lignes de « Sélectionnez les éléments de la - 1 jusqu'au nombre négatif suivant (ou la liste s'épuise) "? Un résultat réussi pour -1 serait (-1, 9, 8, 7, 6, 5, 4). L'utilisation de -2 donnerait le résultat (-2, 6, 15, 32).
Pas un problème de devoirs. Je regarde juste une implémentation utilisant une bool
, une boucle for
, et une if
se demandant s'il y a une manière plus propre de le faire.
J'ai essayé 'SkipWhile' /' TakeWhile' et a fait la même erreur que Anders. Il ne m'est pas venu à l'esprit d'ignorer celui-là. Je vais laisser cela ouvert un peu plus longtemps pour voir quelle variété tombe. –
Cette solution n'inclura pas le premier '-1' dans le jeu de résultats. –
Ce n'est pas vrai. Mais puisque le -1 était l'indicateur pour le début de l'ensemble - c'est celui, valeur connue - il peut être inséré dans les résultats. –