C# Array, How to make data in an array distinct from each other?
C数组,如何使数组中的数据彼此不同?例如
1 | string[] a = {"a","b","a","c","b","b","c","a"}; |
如何获得
1 | string[]b = {"a","b","c"} |
最简单的方法是linq
1 | var b = a.Distinct().ToArray(); |
您可能需要考虑使用集合而不是数组。集合不能包含重复项,因此添加第二个"a"将无效。这样,您的字符集合将始终不包含重复项,并且您不必对其进行任何后期处理。
1 2 3 4 5 | var list = new HashSet<string> { }; list.Add("a"); list.Add("a"); var countItems = list.Count(); //in this case countItems=1 |
您首先使用的数组是
1 | var distinctList = list.Distinct(); |
最后,
1 | var b = distinctList.ToArray(); |
我认为使用C字典是更好的方法,我可以使用LINQ按值排序