C#數組,如何使數組中的數據彼此不同? 例如C#數組,如何使數組中的數據彼此不同?
string[] a = {"a","b","a","c","b","b","c","a"};
如何讓
string[]b = {"a","b","c"}
C#數組,如何使數組中的數據彼此不同? 例如C#數組,如何使數組中的數據彼此不同?
string[] a = {"a","b","a","c","b","b","c","a"};
如何讓
string[]b = {"a","b","c"}
最簡單的方法是LINQ Distinct()
命令:
var b = a.Distinct().ToArray();
你可能要考慮使用Set而不是數組。集合不能包含重複項,因此添加第二個「a」將不起作用。這樣你的角色集合將永遠不會有重複,你不需要對它做任何後期處理。
開頭的數組是IEnumerable<T>
。 IEnumerable<T>
具有可用於操縱列表轉換成其不同的值
var distinctList = list.Distinct();
最後一個Distinct()
method,IEnumerable<T>
具有ToArray()
方法:
var b = distinctList.ToArray();
var list = new HashSet<string> { };
list.Add("a");
list.Add("a");
var countItems = list.Count(); //in this case countItems=1
我想使用C#字典是更好的我可以按價值排序LINQ
string [] b = a.Distinct(); – Rony 2010-11-12 08:44:01
@Rony - 'Distinct'確實給出了一個數組... – 2010-11-12 09:09:37
不同的返回IEnumerable。您需要ToArray()將其轉換爲數組。 –
arviman
2011-06-23 17:50:31