Возможный дубликат:
Как взять все, кроме последнего элемента в последовательности, используя LINQ?
Похоже на тривиальную задачу с LINQ (и, вероятно, это так), но я не могу понять, как удалить последний элемент squance с LINQ. Использование Take и прохождение длины последовательности - 1 отлично работает. Тем не менее, этот подход кажется весьма неудобным при объединении нескольких LINQ в одной строке кода.
IEnumerable<T> someList ....
// this works fine
var result = someList.Take(someList.Count() - 1);
// but what if I'm chaining LINQ ?
var result = someList.Where(...).DropLast().Select(...)......;
// Will I have to break this up?
var temp = someList.Where(...);
var result = temp.Take(temp.Count() - 1).Select(...)........;
В Python я мог бы сделать seq [0: -1]. Я попытался передать -1 методу Take, но, похоже, он не делает то, что мне нужно.