📜  C#|两个HashSet的并集

📅  最后修改于: 2021-05-29 17:18:55             🧑  作者: Mango

HashSet是唯一元素的无序集合。它位于System.Collections.Generic命名空间下。它用于我们要防止将重复项插入到集合中的情况。就性能而言,与列表相比更好。对于两个HashSet的并集, HashSet .UnionWith(IEnumerable ) 方法用来。

句法:

firstSet.UnionWith(secondSet)

异常:如果Setnull,则此方法给出ArgumentNullException

下面给出了一些示例,以更好地理解实现:

范例1:

// C# code to find Union of two HashSet
using System;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a HashSet of integers
        HashSet mySet1 = new HashSet();
  
        // Creating a HashSet of integers
        HashSet mySet2 = new HashSet();
  
        // Inserting even numbers less than
        // equal to 10 in HashSet mySet1
        for (int i = 0; i < 5; i++) {
            mySet1.Add(i * 2);
        }
  
        // Inserting odd numbers less than
        // equal to 10 in HashSet mySet2
        for (int i = 0; i < 5; i++) {
            mySet1.Add(i * 2 + 1);
        }
  
        // Creating a new HashSet that contains
        // the union of both the HashSet mySet1 & mySet2
        HashSet ans = new HashSet(mySet1);
  
        ans.UnionWith(mySet2);
  
        // Printing the union of both the HashSet
        foreach(int i in ans)
        {
            Console.WriteLine(i);
        }
    }
}
输出:
0
2
4
6
8
1
3
5
7
9

范例2:

// C# code to find Union of two HashSet
using System;
using System.Collections.Generic;
   
class GFG {
   
    // Driver code
    public static void Main()
    {
   
        // Creating a HashSet of strings
        HashSet mySet1 = new HashSet();
   
        // Creating a HashSet of strings
        HashSet mySet2 = new HashSet();
   
        // Inserting elements in mySet1
        mySet1.Add("Hello");
        mySet1.Add("GeeksforGeeks");
        mySet1.Add("GeeksforGeeks");
   
        // Inserting elements in mySet2
        mySet2.Add("You");
        mySet2.Add("are");
        mySet2.Add("the");
        mySet2.Add("best");
   
        // Creating a new HashSet that contains
        // the union of both the HashSet mySet1 & mySet2
        HashSet ans = new HashSet(mySet1);
   
        ans.UnionWith(mySet2);
   
        // Printing the union of both the HashSet
        foreach(string i in ans)
        {
            Console.WriteLine(i);
        }
    }
}
输出:
Hello
GeeksforGeeks
You
are
the
best

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.generic.hashset-1.unionwith?view=netframework-4.7.2