2010-11-12 28 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

相關問題