一尘不染

在C#中获取两个数组之间的“差异”?

c#

假设我有以下两个数组:

var array1 = new[] {"A", "B", "C"};
var array2 = new[] {"A", "C", "D"};

我想了解两者之间的区别。我知道我可以用几行代码来编写此代码,但是我想确保我不会缺少内置语言功能或LINQ扩展方法。

理想情况下,我将得到以下三个结果:

  • 项目不在array1中,但在array2中(“ D”)
  • 项目不在array2中,但在array1中(“ B”)
  • 两者中的项目

提前致谢!


阅读 247

收藏
2020-05-19

共1个答案

一尘不染

如果您可以使用LINQ,则可以使用ExceptDistinct。您在问题中要求的集合分别是:

- array2.Except(array1)
- array1.Except(array2)
- array1.Intersect(array2)
2020-05-19