Is there a Linq way of knowing what the next element in the sequence is while iterating? As a concrete example, say I have a list of ints, and I want to calculate the difference between each element and its successor, so for example I would like to be able to write
var myList = new List<int>() { 1,3,8,2,10 };
var differences = myList.Select( ml => ml.Next() - ml ) // pseudo-code, obviously
where the result I want is a list { 2,5,-6,8 }.
Obviously this is trivial in a for loop, but can anyone think of a neat one-liner in Linq to do this job?