C# में Hashtable के तत्वों पर पुनरावृति करने वाला एन्यूमरेटर प्राप्त करने के लिए, हम GetEnumerator() मेथड का उपयोग करते हैं जो IDictionaryEnumerator लौटाता है। यह एन्यूमरेटर कुंजी-मान जोड़े पर पुनरावृति करने के लिए Key और Value प्रॉपर्टीज प्रदान करता है। Hashtable System.Collections नेमस्पेस में स्थित एक गैर-जेनेरिक कुंजी-मान संग्रह है।
उदाहरण 1: Hashtable पर एन्यूमरेटर से पुनरावृति
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
Hashtable hash = new Hashtable(10);
hash.Add("1", "A");
hash.Add("2", "B");
hash.Add("3", "C");
hash.Add("4", "D");
hash.Add("5", "E");
hash.Add("6", "F");
hash.Add("7", "G");
hash.Add("8", "H");
hash.Add("9", "I");
hash.Add("10", "J");
Console.WriteLine("Hashtable कुंजी और मान जोड़े...");
foreach (DictionaryEntry entry in hash)
{
Console.WriteLine("{0} और {1} ", entry.Key, entry.Value);
}
Console.WriteLine("क्या Hashtable का आकार निश्चित है? = " + hash.IsFixedSize);
Console.WriteLine("Hashtable में एंट्रीज की संख्या = " + hash.Count);
Console.WriteLine("\nHashtable के माध्यम से पुनरावृति करने वाला एन्यूमरेटर...");
IDictionaryEnumerator demoEnum = hash.GetEnumerator();
while (demoEnum.MoveNext())
Console.WriteLine("कुंजी = " + demoEnum.Key + ", मान = " + demoEnum.Value);
hash.Clear();
}
}
आउटपुट
Hashtable कुंजी और मान जोड़े... 10 और J 1 और A 2 और B 3 और C 4 और D 5 और E 6 और F 7 और G 8 और H 9 और I क्या Hashtable का आकार निश्चित है? = False Hashtable में एंट्रीज की संख्या = 10 Hashtable के माध्यम से पुनरावृति करने वाला एन्यूमरेटर... कुंजी = 10, मान = J कुंजी = 1, मान = A कुंजी = 2, मान = B कुंजी = 3, मान = C कुंजी = 4, मान = D कुंजी = 5, मान = E कुंजी = 6, मान = F कुंजी = 7, मान = G कुंजी = 8, मान = H कुंजी = 9, मान = I
उदाहरण 2: स्ट्रिंग कुंजियों के साथ Hashtable एन्यूमरेशन
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
Hashtable hash = new Hashtable(10);
hash.Add("One", "A");
hash.Add("Two", "B");
hash.Add("Three", "C");
hash.Add("Four", "D");
hash.Add("Five", "E");
hash.Add("Six", "F");
Console.WriteLine("Hashtable कुंजी और मान जोड़े...");
Console.WriteLine("\nHashtable के माध्यम से पुनरावृति करने वाला एन्यूमरेटर...");
IDictionaryEnumerator demoEnum = hash.GetEnumerator();
while (demoEnum.MoveNext())
Console.WriteLine("कुंजी = " + demoEnum.Key + ", मान = " + demoEnum.Value);
hash.Clear();
}
}
आउटपुट
Hashtable कुंजी और मान जोड़े... Hashtable के माध्यम से पुनरावृति करने वाला एन्यूमरेटर... कुंजी = One, मान = A कुंजी = Five, मान = E कुंजी = Three, मान = C कुंजी = Two, मान = B कुंजी = Four, मान = D कुंजी = Six, मान = F
मुख्य बिंदु:
GetEnumerator()IDictionaryEnumeratorलौटाता है (सामान्यIEnumeratorनहीं)IDictionaryEnumeratorमेंKey,Value,Entryप्रॉपर्टीज होती हैंforeachपरDictionaryEntryभी समान कार्य करता हैHashtableक्रम की गारंटी नहीं देता - आउटपुट क्रम भिन्न हो सकता हैClear()सभी एंट्रीज को हटा देता है- आधुनिक C# में
Dictionary<TKey, TValue>का उपयोग करें