Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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# 2个不同数组中的不匹配元素_C#_Arrays_Algorithm_Compare_Missing Data - Fatal编程技术网

C# 2个不同数组中的不匹配元素

C# 2个不同数组中的不匹配元素,c#,arrays,algorithm,compare,missing-data,C#,Arrays,Algorithm,Compare,Missing Data,比方说,我有两个不同的数组。首先是 x[]={0,1,2,3,4}第二个是y[]={1,3,4}。我期望的输出是z[]={0,2}。我怎样才能在C#中做到这一点 注意:我还希望z[]元素按升序排列。您可以使用Linq int[] x = new int[]{0, 1, 2, 3, 4}; int[] y = new int[]{1, 3, 4}; var result = x.Where(i => !y.Contains(i)).ToArray(); Con

比方说,我有两个不同的数组。首先是
x[]={0,1,2,3,4}
第二个是
y[]={1,3,4}
。我期望的输出是
z[]={0,2}
。我怎样才能在C#中做到这一点


注意:我还希望
z[]
元素按升序排列。

您可以使用Linq

    int[] x = new int[]{0, 1, 2, 3, 4};
    int[] y = new int[]{1, 3, 4};
    var result = x.Where(i => !y.Contains(i)).ToArray();
    Console.WriteLine(string.Join(", ", result));

使用设置操作
Except()

如果您使用的是
Except()
,请阅读下面的注释

此方法首先返回在中未出现的元素 第二。它不会在第二秒内返回那些没有出现的元素 首先只返回唯一的元素。


下面的代码片段给出了两个数组中排序不匹配的元素作为结果

int[] x = new int[] { 1, 2, 2, 3, 4, 0 };
int[] y = new int[] { 1, 3, 3, 4, 5 };

int[] result = x.Except(y).Union(y.Except(x)).ToArray();
Array.Sort(result);

Console.WriteLine(string.Join(' ', result)); // Output: 0 2 5
可能重复的
int[] x = new int[] { 1, 2, 2, 3, 4, 0 };
int[] y = new int[] { 1, 3, 3, 4, 5 };

int[] result = x.Except(y).Union(y.Except(x)).ToArray();
Array.Sort(result);

Console.WriteLine(string.Join(' ', result)); // Output: 0 2 5