TakeWhile, aber hol dir das Element, das es auch gestoppt hat

Ich möchte den LINQ verwendenTakeWhile Funktion auf LINQ to Objects. Ich muss jedoch auch das erste Element kennen, das die Funktion "gebrochen" hat, d. H. Das erste Element, bei dem die Bedingung nicht erfüllt war.

Gibt es eine einzige Funktion, mit der alle nicht übereinstimmenden Objekte abgerufen werden können, sowie die erste, die dies tut?

Zum Beispiel angesichts der Menge{1, 2, 3, 4, 5, 6, 7, 8},

mySet.MagicTakeWhile(x => x != 5);

=> {1, 2, 3, 4, 5}

Antworten auf die Frage(3)

Ihre Antwort auf die Frage