c# - 使用 LINQ 比较两个列表元素

标签 c# .net linq

我试图找到一个 LINQ 表达式来比较两个列表元素。

我想做的是:

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

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

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

最佳答案

不是很好,但应该可以。

list.Where((index, item) => index < list.Count - 1 && list[index + 1] == item)

或以下内容。

list.Take(list.Count - 1).Where((index, item) => list[index + 1] == item)

关于c# - 使用 LINQ 比较两个列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3102661/

相关文章:

c# - 循环文件夹的文件并添加为附件

c# - 将 HTML 放入 Html.ActionLink() 中,加上没有链接文本?

.net - 这是 WPF 数据网格错误吗?

c# - LINQ 查询获取具有指定类型成员的所有实体

c# - 文本框的数据绑定(bind)

c# - 列表验证(数据注释)在客户端不起作用

c# - 为什么我不能从 List<MyClass> 转换为 List<object>?

c# - 将内容正文添加到客户电子邮件

c# - 使用 Linq、 Entity Framework 和数据库索引进行正确搜索

c# - 我可以从枚举中取出前 n 个元素,然后仍然使用枚举的其余部分吗?