Cela ressemble à une tâche triviale avec LINQ (et c'est probablement le cas), mais je ne peux pas comprendre comment laisser tomber le dernier élément de la séquence avec LINQ. Utilisation Prendre et passer la longueur de la séquence - 1 fonctionne bien évidemment. Cependant, cette approche semble assez peu pratique lors de l'enchaînement de plusieurs LINQ en une seule ligne de code.
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(...)........;
En Python, je pourrais juste faire seq[0 :-1]. J'ai essayé de passer -1 à la méthode Take, mais il ne semble pas faire ce dont j'ai besoin.