C#数组,如何使数组中的数据彼此不同?
C#数组,如何使数组中的数据彼此不同? 比如说C#数组,如何使数组中的数据彼此不同?,c#,arrays,distinct-values,C#,Arrays,Distinct Values,C#数组,如何使数组中的数据彼此不同? 比如说 string[] a = {"a","b","a","c","b","b","c","a"}; 如何获得 string[]b = {"a","b","c"} 最简单的方法是使用LINQDistinct()命令: var b = a.Distinct().ToArray(); 你可能想考虑使用一个数组代替一个数组。集合不能包含重复项,因此添加第二个“a”无效。这样,您的字符集合将始终不包含重复字符,并且您不必对其进行任何后期处理。一个数组,从
string[] a = {"a","b","a","c","b","b","c","a"};
如何获得
string[]b = {"a","b","c"}
最简单的方法是使用LINQ
Distinct()
命令:
var b = a.Distinct().ToArray();
你可能想考虑使用一个数组代替一个数组。集合不能包含重复项,因此添加第二个“a”无效。这样,您的字符集合将始终不包含重复字符,并且您不必对其进行任何后期处理。
一个数组,从它开始,就是IEnumerable
IEnumerable
具有一个Distinct()
,可用于将列表操纵为其不同的值
var distinctList = list.Distinct();
最后,IEnumerable
有一个ToArray()
方法:
var b = distinctList.ToArray();
var list=newhashset{};
列表。添加(“a”);
列表。添加(“a”);
var countItems=list.Count()//在这种情况下,countItems=1
我认为使用c#Dictionary是更好的方法,我可以使用Distinct返回IEnumerable按值排序。需要使用ToArray()将其强制转换为数组。
var list = new HashSet<string> { };
list.Add("a");
list.Add("a");
var countItems = list.Count(); //in this case countItems=1