Linq способ получить кусочное различие между элементом и следующим элементом в списке

Существует ли Linq способ знать то, что следующий элемент в последовательности при итерации? Как конкретный пример, скажите, что у меня есть список ints, и я хочу вычислить различие между каждым элементом и его преемником, так например, я хотел бы смочь записать

var myList = new List<int>() { 1,3,8,2,10 };
var differences = myList.Select( ml => ml.Next() - ml ) // pseudo-code, obviously

где результатом, который я хочу, является список {2,5,-6,8}.

Очевидно, это тривиально в для цикла, но кто-либо может думать об аккуратной остроте в Linq, чтобы сделать это задание?

19
задан Aidan 19 October 2010 в 15:36
поделиться