Mi piacerebbe utilizzare la funzione LINQ TakeWhile
su LINQ su Oggetti. Tuttavia, ho anche bisogno di conoscere il primo elemento che "ha rotto" la funzione, cioè il primo elemento in cui la condizione non era vera.TakeWhile, ma ottieni anche l'elemento che lo ha arrestato
C'è una sola funzione per ottenere tutti gli oggetti che non corrispondono, più il primo che fa?
Ad esempio, dato il set {1,2,3,4,5,6,7,8}
,
mySet.MagicTakeWhile(x => x != 5);
=> {1,2,3,4,5}
è possibile scrivere un metodo del genere facilmente, ma questo non sarà "pigro" in quanto è necessario conoscere la posizione dell'ultimo elemento al fine di ottenere il prossimo. –
[Questa domanda] (https://stackoverflow.com/q/2242318/241211) non è un duplicato, ma condivide [una risposta.] (Https://stackoverflow.com/a/6817553/241211) – Michael