要找到两个HashSet的交集,代码如下-
using System;
using System.Collections.Generic;
public class Demo {
   public static void Main(){
      HashSet<string> set1 = new HashSet<string>();
      set1.Add("AB");
      set1.Add("CD");
      set1.Add("EF");
      set1.Add("AB");
      set1.Add("IJ");
      set1.Add("KL");
      set1.Add("EF");
      set1.Add("OP");
      Console.WriteLine("Elements in HashSet1");
      foreach(string val in set1){
         Console.WriteLine(val);
      }
      HashSet<string> set2 = new HashSet<string>();
      set2.Add("EF");
      set2.Add("KL");
      Console.WriteLine("\nElements in HashSet2");
      foreach(string val in set2){
         Console.WriteLine(val);
      }
      Console.WriteLine("Count of elements in HashSet2 = " + set2.Count);
      set2.Remove("KL");
      Console.WriteLine("\nElements in HashSet2... (UPDATED)");
      foreach (string res in set2){
         Console.WriteLine(res);
      }
      Console.WriteLine("Count of elements in HashSet2 (Updated) = " + set2.Count);
      Console.WriteLine("\nIs set1 a superset of set2? "+set1.IsSupersetOf(set2));
      set1.IntersectWith(set2);
      Console.WriteLine("\nIntersection result...");
      foreach(string str in set1){
         Console.WriteLine(str);
      }
   }
}输出结果
这将产生以下输出-
Elements in HashSet1 AB CD EF IJ KL OP Elements in HashSet2 EF KL Count of elements in HashSet2 = 2 Elements in HashSet2... (UPDATED) EF Count of elements in HashSet2 (Updated) = 1 Is set1 a superset of set2? True Intersection result... EF
现在让我们来看另一个示例-
using System;
using System.Collections.Generic;
public class Demo {
   public static void Main(){
      HashSet<int> set1 = new HashSet<int>();
      set1.Add(30);
      set1.Add(60);
      set1.Add(70);
      set1.Add(80);
      set1.Add(100);
      set1.Add(125);
      Console.WriteLine("Elements in HashSet1");
      foreach(int val in set1){
         Console.WriteLine(val);
      }
      HashSet<int> set2 = new HashSet<int>();
      set2.Add(30);
      set2.Add(60);
      set2.Add(70);
      set2.Add(80);
      set2.Add(100);
      set2.Add(125);
      Console.WriteLine("\nElements in HashSet2");
      foreach(int val in set2){
         Console.WriteLine(val);
      }
      set1.IntersectWith(set2);
      Console.WriteLine("\nIntersection result...");
      foreach(int val in set1){
         Console.WriteLine(val);
      }
   }
}输出结果
这将产生以下输出-
Elements in HashSet1 30 60 70 80 100 125 Elements in HashSet2 30 60 70 80 100 125 Intersection result... 30 60 70 80 100 125