使用LINQ比较两个列表元素

Gpx*_*Gpx 5 .net c# linq

我正在尝试找到一个LINQ表达式来比较两个列表元素.

我想做的是:

List<int> _int = new List<int> { 1, 2, 3, 3, 4, 5};
_int.Where(x => x == _int[(_int.IndexOf(x)) + 1]);
Run Code Online (Sandbox Code Playgroud)

不幸的是,只有最后一个+1跳出列表的范围.

如何在LINQ表达式中将一个项目与列表中的下一个项目进行比较?

Dan*_*ner 6

不是很好,但应该工作.

list.Where((index, item) => index < list.Count - 1 && list[index + 1] == item)
Run Code Online (Sandbox Code Playgroud)

或者以下.

list.Take(list.Count - 1).Where((index, item) => list[index + 1] == item)
Run Code Online (Sandbox Code Playgroud)