Jak zabrać wszystkie elementy oprócz ostatniego w sekwencji używając LINQ?
Powiedzmy, że mam sekwencję.
IEnumerable<int> sequence = GetSequenceFromExpensiveSource();
// sequence now contains: 0,1,2,3,...,999999,1000000
Uzyskanie sekwencji nie jest tanie i jest generowane dynamicznie, a ja chcę ją powtarzać tylko raz.
Chcę uzyskać 0 - 999999 (tj. Wszystko oprócz ostatniego elementu)
Rozumiem, że mógłbym zrobić coś takiego:
sequence.Take(sequence.Count() - 1);
ale skutkuje to dwoma wyliczeniami nad dużą sekwencją.
Czy istnieje konstrukcja LINQ, która pozwala mi:
sequence.TakeAllButTheLastElement();