c# - 我想比较 2 个哈希集并找出差异

标签 c# hashset

我有 2 个像这样的哈希集。

Hash_1 = {1, 2, 3, 4, 5}
Hash_2 = {4, 5, 6, 7, 8}

我正在使用 C#

我想比较这两个集合并得到类似的输出

Hash_3 = {1, 2, 3, 6, 7, 8}

最佳答案

你想要的是:没有Hash_2的Hash_1,没有Hash_1的Hash_2,然后组合成一组。

所以让我们从没有 Hash_2 的 Hash_1 开始:

var modified1 = Hash_1.Except(Hash_2);

然后是没有 Hash_1 的 Hash_2:

var modified2 = Hash_2.Except(Hash_1);

现在让我们把它们结合起来:

var result = modified1.Concat(modified2);

或者简而言之:

var result = Hash_1.Except(Hash_2).Concat(Hash_2.Except(Hash_1));

Try it online

关于c# - 我想比较 2 个哈希集并找出差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56389146/

相关文章:

java - 如何合并两个具有部分相等对象的哈希集?

java - 为什么具有相同数据的两个不同的 HashSet 具有相同的 HashCode?

c# - 如何创建多个图片框并保留它们?

javascript - 如何获取剑道上下文菜单中的当前行?

java - HashSet<User>修改,而user只有最终值 'equals/hashcode'

java - 在 Java 中从 Map 内的 Set 访问对象

java - 我如何保持哈希集按字母顺序排列?

c# - TextMode.Phone 不做任何验证?

c# - .ToShortDateString 返回与预期不同的文化格式

c# - 在 IEnumerable 上使用扩展方法的 Foreach