Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में HashSet के माध्यम से पुनरावृति करने वाला एन्यूमरेटर प्राप्त करें


C# में HashSet<T> संग्रह के तत्वों पर पुनरावृति करने के लिए, हम GetEnumerator() मेथड का उपयोग करके एक एन्यूमरेटर प्राप्त कर सकते हैं। HashSet अद्वितीय तत्वों का संग्रह है जो डुप्लिकेट मानों की अनुमति नहीं देता। यह System.Collections.Generic नेमस्पेस का हिस्सा है और सेट ऑपरेशंस के लिए अनुकूलित है।

उदाहरण 1: दो 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("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("HashSet2 में तत्व... (एन्यूमरेटर HashSet के माध्यम से पुनरावृति कर रहा है)");
        HashSet<string>.Enumerator demoEnum = set2.GetEnumerator();
        while (demoEnum.MoveNext())
        {
            string res = demoEnum.Current;
            Console.WriteLine(res);
        }

        Console.WriteLine("क्या HashSet1, HashSet2 के बराबर है? = " + set1.Equals(set2));
        Console.WriteLine("HashSet2 की संख्या = " + set2.Count);
        set2.Clear();
        Console.WriteLine("HashSet2 की संख्या (अपडेटेड) = " + set2.Count);
    }
}

आउटपुट

HashSet1 में तत्व...
A
B
C
D
E
F
G
H

HashSet2 में तत्व... (एन्यूमरेटर HashSet के माध्यम से पुनरावृति कर रहा है)
John
Jacob
Ryan
Tom
Andy
Tim
Steve
Mark

क्या HashSet1, HashSet2 के बराबर है? = False
HashSet2 की संख्या = 8
HashSet2 की संख्या (अपडेटेड) = 0

उदाहरण 2: डुप्लिकेट हैंडलिंग और सुपरसेट जांच

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("HashSet1 में तत्व");
        foreach (string val in set1)
        {
            Console.WriteLine(val);
        }

        HashSet<string> set2 = new HashSet<string>();
        set2.Add("EF");
        set2.Add("KL");

        Console.WriteLine("HashSet2 में तत्व... (एन्यूमरेटर HashSet के माध्यम से पुनरावृति कर रहा है)");
        HashSet<string>.Enumerator demoEnum = set2.GetEnumerator();
        while (demoEnum.MoveNext())
        {
            string res = demoEnum.Current;
            Console.WriteLine(res);
        }

        Console.WriteLine("क्या set1, set2 का सुपरसेट है? " + set1.IsSupersetOf(set2));
    }
}

आउटपुट

HashSet1 में तत्व
AB
CD
EF
IJ
KL
OP

HashSet2 में तत्व... (एन्यूमरेटर HashSet के माध्यम से पुनरावृति कर रहा है)
EF
KL

क्या set1, set2 का सुपरसेट है? True

मुख्य बिंदु:

  • HashSet स्वचालित रूप से डुप्लिकेट मानों को संभालता है (उन्हें अनदेखा करता है)
  • GetEnumerator() एक संरचना एन्यूमरेटर लौटाता है जिसे while लूप के साथ उपयोग किया जा सकता है
  • foreach लूप आंतरिक रूप से एन्यूमरेटर का उपयोग करता है
  • IsSupersetOf जांचता है कि क्या एक सेट में दूसरे सेट के सभी तत्व हैं
  1. - C# में List के माध्यम से इटरेट करने के लिए एन्यूमरेटर प्राप्त करें

    List के माध्यम से इटरेट करने के लिए एन्यूमरेटर प्राप्त करने के लिए, कोड इस प्रकार है: उदाहरण using System; using System.Collections.Generic; public class Demo { public static void Main(String[] args){ List list1 = new List(); list1.Add(One); list1.Add(Two);

  1. - C# में Dictionary के माध्यम से पुनरावृति करने वाला एन्युमरेटर प्राप्त करें

    C# में Dictionary के माध्यम से पुनरावृति करने के लिए GetEnumerator() मेथड का उपयोग करके एक IDictionaryEnumerator प्राप्त किया जा सकता है। यह एन्युमरेटर कुंजी-मान जोड़े पर पुनरावृति करने की अनुमति देता है। उदाहरण 1 using System; using System.Collections; using System.Collections.Generic; public clas

  1. - C# में StringCollection के माध्यम से पुनरावृति करने वाला एन्युमरेटर प्राप्त करें

    C# में StringCollection के माध्यम से पुनरावृति करने के लिए GetEnumerator() मेथड का उपयोग करके एक StringEnumerator प्राप्त किया जा सकता है। यह एन्युमरेटर स्ट्रिंग तत्वों पर पुनरावृति करने की अनुमति देता है। उदाहरण 1 using System; using System.Collections.Specialized; public class Demo { public s