在 C# 中获取对 HashSet 进行迭代的枚举器


若要获取对 HashSet 进行迭代的枚举器,代码如下:

示例

 现场演示

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main(String[] args) {
      HashSet<string> set1 = new HashSet<string>();
      set1.Add("A");
      set1.Add("B");
      set1.Add("C");
      set1.Add("D");
      set1.Add("E");
      set1.Add("F");
      set1.Add("G");
      set1.Add("H");
      Console.WriteLine("Elements in HashSet1...");
      foreach (string res in set1) {
         Console.WriteLine(res);
      }
      HashSet<string> set2 = new HashSet<string>();
      set2.Add("John");
      set2.Add("Jacob");
      set2.Add("Ryan");
      set2.Add("Tom");
      set2.Add("Andy");
      set2.Add("Tim");
      set2.Add("Steve");
      set2.Add("Mark");
      Console.WriteLine("Elements in HashSet2... (Enumerator iterating through HashSet)");
      HashSet<string>.Enumerator demoEnum = set2.GetEnumerator();
      while (demoEnum.MoveNext()) {
         string res = demoEnum.Current;
         Console.WriteLine(res);
      }
      Console.WriteLine("Is HashSet1 equal to HashSet2? = "+set1.Equals(set2));
      Console.WriteLine("Count of HashSet2 = "+set2.Count);
      set2.Clear();
      Console.WriteLine("Count of HashSet2 (updated) = "+set2.Count);
   }
}

输出

这将产生以下输出:

Elements in HashSet1...
A
B
C
D
E
F
G
H
Elements in HashSet2... (Enumerator iterating through HashSet)
John
Jacob
Ryan
Tom
Andy
Tim
Steve
Mark
Is HashSet1 equal to HashSet2? = False
Count of HashSet2 = 8
Count of HashSet2 (updated) = 0

示例

让我们看另一个示例:

 现场演示

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("Elements in HashSet2... (Enumerator iterating through HashSet)");
      HashSet<string>.Enumerator demoEnum = set2.GetEnumerator();
      while (demoEnum.MoveNext()) {
         string res = demoEnum.Current;
         Console.WriteLine(res);
      }
      Console.WriteLine("Is set1 a superset of set2? "+set1.IsSupersetOf(set2));
   }
}

输出

这将产生以下输出:

Elements in HashSet1
AB
CD
EF
IJ
KL
OP
Elements in HashSet2... (Enumerator iterating through HashSet)
EF
KL
Is set1 a superset of set2? True

更新时间:2019 年 12 月 6 日

304 次浏览

启动您的 职业

通过完成课程获得认证

开始学习
广告