c# - 如何删除数组中的重复值?

标签 c#

<分区>

Possible Duplicate:
Remove duplicates from array

我有一个 int 数组,其中包含定义数量的元素,所有元素都是正数。我想从这个数组中获取一个所有元素只出现一次的数组。例如如果第一个数组类似于 {2000,2011,2011,2012,2009,2009,2000},我想得到这个 {2000,2011,2012,2009}。我怎样才能做到这一点?我用 for 循环尝试了很多事情,但我无法做一些好事。

最佳答案

使用 LINQ 很容易:

var intArray = new[] { 2000, 2011, 2011, 2012, 2009, 2009, 2000 };
var uniqueArray = intArray.Distinct().ToArray();

http://msdn.microsoft.com/en-us/library/system.linq.enumerable.distinct.aspx

另一种方法是使用 Enumerable.GroupBy :

uniqueArray = intArray.GroupBy(i => i).Select(grp => grp.Key).ToArray();

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

相关文章:

c# - 方法应该抛出异常但它没有

c# - 无法在 MVVM 中正确获取 UWP 行为中的 CalendarDatePicker

c# - List<> 上的 LINQ to NHibernate 表达式

c# - 仅当第二个 TSource 不为 Null 时联合集合

C# Outlook 插件窗体区域

c# - 如何在 C# 中指定 RGB 值的范围

c# - ReactiveUI ObservableAsPropertyHelper 与普通支持变量

c# - 如何在父窗口中相对于a控件的位置显示Modal窗体(opener)

c# - 注册后登录用户

c# - 如何缩进 XML 文本并保留 C# 中的换行符?