C# | Getting an enumerator that iterates through HashSet<T> Last Updated : 11 Jul, 2025 Comments Improve Suggest changes Like Article Like Report HashSet<T>.GetEnumerator Method is used to get an enumerator that iterates through a HashSet object. Syntax: public System.Collections.Generic.HashSet<T>.Enumerator GetEnumerator (); Return Value: It returns a HashSet<T>.Enumerator object for the HashSet<T> object. Below programs illustrate the use of above-discussed method: Example 1: CSharp // C# code to get an enumerator that // iterates through the HashSet<T> using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a HashSet<T> of strings HashSet<string> mySet = new HashSet<string>(); // Inserting elements in HashSet mySet.Add("DS"); mySet.Add("C++"); mySet.Add("Java"); mySet.Add("C#"); // To get an Enumerator // for the HashSet<T>. HashSet<string>.Enumerator em = mySet.GetEnumerator(); display(em); } // display method static void display(IEnumerator<string> em) { while (em.MoveNext()) { string val = em.Current; Console.WriteLine(val); } } } Output: DS C++ Java C# Example 2: CSharp // C# code to get an enumerator that // iterates through the HashSet<T> using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a HashSet of integers HashSet<int> mySet1 = new HashSet<int>(); // Inserting elements in HashSet for (int i = 1; i <= 10; i++) mySet1.Add(2 * i); // To get an Enumerator // for the HashSet<T>. HashSet<int>.Enumerator em = mySet1.GetEnumerator(); display(em); } // display method static void display(IEnumerator<int> em) { while (em.MoveNext()) { int val = em.Current; Console.WriteLine(val); } } } Output: 2 4 6 8 10 12 14 16 18 20 Note: The foreach statement of the C# language hides the complexity of the enumerators. Therefore, using foreach is recommended, instead of directly manipulating the enumerator. Enumerators can be used to read the data in the collection, but they cannot be used to modify the underlying collection. Current returns the same object until either MoveNext or Reset is called. MoveNext sets Current to the next element. An enumerator remains valid as long as the collection remains unchanged. If changes are made to the collection, such as adding, modifying, or deleting elements, the enumerator is irrecoverably invalidated and its behavior is undefined. This method is an O(1) operation. Reference: https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1.getenumerator?view=netframework-4.7.2 Comment More infoAdvertise with us Next Article C# | Get an enumerator that iterates through the SortedSet K Kirti_Mangal Follow Improve Article Tags : C# CSharp-method CSharp-Generic-HashSet CSharp-Generic-Namespace Similar Reads C# | Getting an enumerator that iterates through LinkedList<T> LinkedList<T>.GetEnumerator Method is used to get an enumerator that iterates through the LinkedList<T>. Syntax: public System.Collections.Generic.LinkedList<T>.Enumerator GetEnumerator (); Return Value: It returns an LinkedList<T>.Enumerator for the LinkedList<T>. Belo 2 min read C# | Get an enumerator that iterates through the Hashtable Hashtable.GetEnumerator Method is used to returns an IDictionaryEnumerator that iterates through the Hashtable. Syntax: public virtual System.Collections.IDictionaryEnumerator GetEnumerator (); Return Value: It returns an IDictionaryEnumerator for the Hashtable. Below programs illustrate the use of 2 min read C# | Get an enumerator that iterates through Collection<T> Collection<T>.GetEnumerator Method is used to get an enumerator that iterates through the Collection<T>. Syntax: public System.Collections.Generic.IEnumerator<T> GetEnumerator (); Return Value: This method returns an IEnumerator<T> for the Collection<T>. Below programs 2 min read C# | Get an enumerator that iterates through the List List<T>.GetEnumerator Method is used to returns an enumerator that iterates through the List<T>. Syntax: public System.Collections.Generic.List<T>.Enumerator GetEnumerator (); Return Value: It returns an List<T>Enumerator for the List<T>. Below programs illustrate the u 2 min read C# | Get an enumerator that iterates through the SortedSet SortedSet<T>.GetEnumerator Method is used to return an enumerator that iterates through the SortedSet<T>. Syntax: public System.Collections.Generic.SortedSet<T>.Enumerator GetEnumerator (); Return Value: This method returns an enumerator that iterates through the SortedSet<T> 2 min read C# | Get an enumerator that iterates through the SortedList SortedList.GetEnumerator Method is used to an IDictionaryEnumerator object that iterates through a SortedList object. Syntax: public virtual System.Collections.IDictionaryEnumerator GetEnumerator (); Return Value: This method returns an IDictionaryEnumerator object for the SortedList object. Below p 3 min read Like