Как взять все, кроме последнего элемента в последовательности, используя LINQ?

Допустим, у меня есть последовательность.

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

Получение последовательности не является дешевым и генерируется динамически, и я хочу повторить его только один раз.

Я хочу получить 0 - 999999 (т.е. все, кроме последнего элемента)

Я понимаю, что могу сделать что-то вроде:

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

но это приводит к двум перечислениям в большой последовательности.

Есть ли конструкция LINQ, которая позволяет мне делать:

sequence.TakeAllButTheLastElement();

Ответы на вопрос(20)

Ваш ответ на вопрос