2010-11-12 106 views

回答

20

最简单的方法是LINQ Distinct()命令:

var b = a.Distinct().ToArray(); 
+0

string [] b = a.Distinct(); – Rony 2010-11-12 08:44:01

+1

@Rony - 'Distinct'确实给出了一个数组... – 2010-11-12 09:09:37

+1

不同的返回IEnumerable 。您需要ToArray()将其转换为数组。 – arviman 2011-06-23 17:50:31

6

你可能要考虑使用Set而不是数组。集合不能包含重复项,因此添加第二个“a”将不起作用。这样你的角色集合将永远不会有重复,你不需要对它做任何后期处理。

1

开头的数组是IEnumerable<T>IEnumerable<T>具有可用于操纵列表转换成其不同的值

var distinctList = list.Distinct(); 

最后一个Distinct()methodIEnumerable<T>具有ToArray()方法:

var b = distinctList.ToArray(); 
2
var list = new HashSet<string> { }; 
    list.Add("a"); 
    list.Add("a"); 

    var countItems = list.Count(); //in this case countItems=1 
0

我想使用C#字典是更好的我可以按价值排序LINQ

相关问题