Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#数组,如何使数组中的数据彼此不同?_C#_Arrays_Distinct Values - Fatal编程技术网

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”无效。这样,您的字符集合将始终不包含重复字符,并且您不必对其进行任何后期处理。一个数组,从

C#数组,如何使数组中的数据彼此不同? 比如说

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