Dictionary इटरेशन के तरीके
एलिमेंट्स जोड़ें:
IDictionary<int, int> d = new Dictionary<int, int>(); d.Add(1, 97); d.Add(2, 89); d.Add(3, 77); d.Add(4, 88);
कीज़ प्राप्त करके इटरेट करें:
List<int> myList = new List<int>(d.Keys);
foreach (int k in myList) {
Console.WriteLine("{0}, {1}", k, d[k]);
}
पूर्ण कोड उदाहरण
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
IDictionary<int, int> d = new Dictionary<int, int>();
d.Add(1, 97); d.Add(2, 89); d.Add(3, 77); d.Add(4, 88);
List<int> myList = new List<int>(d.Keys);
foreach (int k in myList) {
Console.WriteLine("{0}, {1}", k, d[k]);
}
}
}
आउटपुट
1, 97 2, 89 3, 77 4, 88
बेहतर/आधुनिक तरीके:
// 1. सीधे KeyValuePair पर foreach (अनुशंसित)
foreach (var kvp in d) {
Console.WriteLine($"{kvp.Key}, {kvp.Value}");
}
// 2. Keys पर foreach
foreach (var key in d.Keys) {
Console.WriteLine($"{key}, {d[key]}");
}
// 3. Values केवल
foreach (var value in d.Values) {
Console.WriteLine(value);
}
// 4. LINQ
d.OrderBy(kvp => kvp.Key).ToList().ForEach(kvp => Console.WriteLine($"{kvp.Key}: {kvp.Value}"));
महत्वपूर्ण नोट:
- डिक्शनरी पर सीधे
foreachकरने सेKeyValuePair<TKey, TValue>मिलता है - इटरेशन के दौरान डिक्शनरी मॉडिफाई न करें (एक्सेप्शन फेंकेगा)
- आर्डर इंसर्शन आर्डर होता है (.NET Core 3.0+ में गारंटीड)