Como tirar tudo, mas o último elemento em uma seqüência usando o LINQ?
Digamos que eu tenha uma sequência.
IEnumerable<int> sequence = GetSequenceFromExpensiveSource();
// sequence now contains: 0,1,2,3,...,999999,1000000
Obtendo a seqüência não é barato e é gerado dinamicamente, e eu quero iterar através dele apenas uma vez.
Eu quero obter 0 - 999999 (ou seja, tudo, mas o último elemento)
Eu reconheço que eu poderia fazer algo como:
sequence.Take(sequence.Count() - 1);
mas isso resulta em duas enumerações sobre a grande seqüência.
Existe uma construção LINQ que me permite fazer:
sequence.TakeAllButTheLastElement();