c# - 如何使用 LINQ 删除数组中的重复元素?删除重复的元素?

标签 c# .net linq

int [] n=new int[10]{2,3,33,33,55,55,123,33,88,234};
output=2,3,123,88,234;

使用 LINQ 我可以通过连续检查使用两个 for 循环来做到这一点。但是我需要一种使用 LINQ 的更简单的方法

它没有删除重复项.. 通过 distinct 删除重复项将得到 = 2,3,123,33,55,88,234 我的输出应该是 = 2,3,123,,88,234;

最佳答案

我结合了您的分组想法和matiash 计数。不确定它的速度。

var result = n.GroupBy(s => s).Where(g => g.Count() == 1).Select(g => g.Key);

更新:我测量了速度,时间似乎是线性的,所以你可以在大型集合上使用它

关于c# - 如何使用 LINQ 删除数组中的重复元素?删除重复的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24592587/

相关文章:

javascript - C# 中的文件夹对话框

.net - WPF DocumentViewer不会发布XPS文件

c# - 在 Lambda/LINQ 中组合列表

c# - 在 Linq 查询中创建列表

c# - 从自定义列表<T>返回不按顺序的重复项目 C#

c# - 如何获取传递给属性构造函数的参数?

c# - Windows 10 UWP - C# : How to check network type (EDGE/3G/LTE), 不仅是蜂窝还是 WLAN?

c# - 为什么 SQL float 与 C# float 不同

c# - 获取字符串的编码

linq - NHibernate 3 LINQ 内连接问题与三个跳转 : NotSupportedException