परिचय
Dictionary<TKey, TValue> कुंजी-मान जोड़े संग्रहीत करता है। इटरेशन के कई तरीके हैं; सबसे कुशल और पठनीय foreach के साथ KeyValuePair है।
उदाहरण: Dictionary बनाना और क्रमबद्ध इटरेशन
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// Dictionary बनाएं
var dict = new Dictionary(5);
dict.Add("car", 25);
dict.Add("bus", 28);
dict.Add("motorbike", 17);
// मान के अनुसार आरोही क्रम में इटरेट (LINQ)
var sorted = from entry in dict
orderby entry.Value ascending
select entry;
foreach (KeyValuePair entry in sorted)
{
Console.WriteLine("{0} = {1}", entry.Key, entry.Value);
}
// आउटपुट:
// motorbike = 17
// car = 25
// bus = 28
}
}
अन्य इटरेशन तरीके
| तरीका | कोड | उपयोग केस |
|---|---|---|
| केवल कुंजियाँ | foreach (var key in dict.Keys) | कुंजियों की सूची चाहिए |
| केवल मान | foreach (var val in dict.Values) | मानों की सूची चाहिए |
| कुंजी-मान जोड़ी | foreach (var kvp in dict) | सबसे सामान्य, दोनों चाहिए |
| LINQ OrderBy | dict.OrderBy(kvp => kvp.Value) | क्रमबद्ध इटरेशन |
| Parallel | dict.AsParallel().ForAll(...) | बड़े डेटा के लिए समानांतर प्रसंस्करण |
प्रदर्शन नोट
foreachसीधे एन्यूमरेटर उपयोग करता है (कोई इंडेक्सिंग ओवरहेड नहीं)।forलूप Dictionary पर लागू नहीं (इंडेक्स द्वारा एक्सेस नहीं)।- बहुत बड़े Dictionary के लिए
Dictionary<TKey, TValue>के बजायConcurrentDictionaryया सॉर्टेड कलेक्शन पर विचार करें।