Wie nehme ich mit LINQ alle Elemente bis auf das letzte in einer Sequenz?

Nehmen wir an, ich habe eine Sequenz.

IEnumerable<int> sequence = GetSequenceFromExpensiveSource();
// sequence now contains: 0,1,2,3,...,999999,1000000

Die Sequenz zu bekommen ist nicht billig und wird dynamisch generiert, und ich möchte sie nur einmal durchlaufen.

Ich möchte 0 - 999999 erhalten (d. H. Alles außer dem letzten Element)

Ich erkenne, dass ich etwas machen könnte wie:

sequence.Take(sequence.Count() - 1);

Dies führt jedoch zu zwei Aufzählungen in der großen Sequenz.

Gibt es ein LINQ-Konstrukt, mit dem ich Folgendes tun kann:

sequence.TakeAllButTheLastElement();

Antworten auf die Frage(20)

Ihre Antwort auf die Frage