c# - 如何使用 LINQ 对序列中的相同值进行分组?

标签 c# .net linq

我有一个序列。例如:

new [] { 10, 1, 1, 5, 25, 45, 45, 45, 40, 100, 1, 1, 2, 2, 3 }

现在我必须在不改变整体顺序的情况下删除重复的值。对于上面的序列:

new [] { 10, 1, 5, 25, 45, 40, 100, 1, 2, 3 }

如何使用 LINQ 做到这一点?

最佳答案

var list = new List<int> { 10, 1, 1, 5, 25, 45, 45, 45, 40, 100, 1, 1, 2, 2, 3 };
        List<int> result = list.Where((x, index) =>
        {
            return index == 0 || x != list.ElementAt(index - 1) ? true : false;
        }).ToList();

这会返回你想要的。希望对您有所帮助。

关于c# - 如何使用 LINQ 对序列中的相同值进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10766072/

相关文章:

.net - 添加/删除视觉/逻辑子项时收到通知

c# - Linq 到数据集

c# - ThenInclude 在 EF Core 查询中无法识别

linq - 使用 LINQ 映射集合

c# - 避免Unity中粒子和对撞机之间的碰撞

c# - 在 C# 中临时加载用于客户端身份验证的 SSL 客户端 key

c# - 对简单类型使用结构而不是类

c# - IE7 中由 JavaScript 和图像引起的混合内容警告

c# - 每个程序集一个命名空间?

c# - 在 webbrowser-control 中禁用弹出窗口