Getting an enumerator that iterates through HashSet in C#


To get an enumerator that iterates through HashSet, the code is as follows −

Example

 Live Demo

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);
   }
}

Output

This will produce the following output −

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

Example

Let us see another example −

 Live Demo

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));
   }
}

Output

This will produce the following output −

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

Updated on: 06-Dec-2019

257 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements