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

C# में OrderedDictionary बनाना और उपयोग करना

OrderedDictionary क्लास (System.Collections.Specialized) की-वैल्यू पेयर्स का संग्रह है जो इंसर्शन क्रम बनाए रखता है। यह कुंजी द्वारा लुकअप (हैशटेबल की तरह) और इंडेक्स द्वारा एक्सेस (लिस्ट की तरह) दोनों प्रदान करता है।

उदाहरण 1: OrderedDictionary बनाना, तत्व जोड़ना और हटाना

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
    public static void Main() {
        OrderedDictionary dict = new OrderedDictionary();
        
        dict.Add("A", "Books");
        dict.Add("B", "Electronics");
        dict.Add("C", "Smart Wearables");
        dict.Add("D", "Pet Supplies");
        dict.Add("E", "Clothing");
        dict.Add("F", "Footwear");

        Console.WriteLine("OrderedDictionary तत्व (इंसर्शन क्रम)...");
        foreach (DictionaryEntry entry in dict) {
            Console.WriteLine(entry.Key + " " + entry.Value);
        }

        Console.WriteLine("\nतत्वों की संख्या = " + dict.Count);
        
        // कुंजी द्वारा हटाएं
        dict.Remove("E");
        Console.WriteLine("हटाने के बाद संख्या = " + dict.Count);
        
        // इंडेक्स द्वारा एक्सेस
        Console.WriteLine("इंडेक्स 0 पर वैल्यू = " + dict[0]);
        Console.WriteLine("कुंजी 'B' की वैल्यू = " + dict["B"]);
    }
}

आउटपुट

OrderedDictionary तत्व (इंसर्शन क्रम)...
A Books
B Electronics
C Smart Wearables
D Pet Supplies
E Clothing
F Footwear

तत्वों की संख्या = 6
हटाने के बाद संख्या = 5
इंडेक्स 0 पर वैल्यू = Books
कुंजी 'B' की वैल्यू = Electronics

उदाहरण 2: Keys संग्रह कॉपी करना

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
    public static void Main() {
        OrderedDictionary dict = new OrderedDictionary();
        dict.Add("1", "One");
        dict.Add("2", "Two");
        dict.Add("3", "Three");
        dict.Add("4", "Four");
        dict.Add("5", "Five");
        dict.Add("6", "Six");
        dict.Add("7", "Seven");
        dict.Add("8", "Eight");

        // Keys संग्रह प्राप्त करें और ऐरे में कॉपी करें
        ICollection keys = dict.Keys;
        string[] keyArray = new string[dict.Count];
        keys.CopyTo(keyArray, 0);

        Console.WriteLine("कुंजियाँ प्रदर्शित...");
        for (int i = 0; i < dict.Count; i++) {
            Console.WriteLine(keyArray[i]);
        }
    }
}

आउटपुट

कुंजियाँ प्रदर्शित...
1
2
3
4
5
6
7
8

OrderedDictionary मुख्य विशेषताएं

विशेषताविवरण
क्रमइंसर्शन क्रम बनाए रखता है
कुंजी एक्सेसO(1) औसत (हैश-आधारित)
इंडेक्स एक्सेसO(1) - dict[index] या dict.GetKey(index)
कुंजी प्रकारobject (नॉन-जेनेरिक)
मान प्रकारobject (नॉन-जेनेरिक)
डुप्लिकेट कुंजियाँनहीं
नल कुंजीनहीं

मुख्य मेथड्स और प्रॉपर्टीज़

  • Add(key, value) - अंत में जोड़ें
  • Remove(key) - कुंजी द्वारा हटाएं
  • RemoveAt(index) - इंडेक्स द्वारा हटाएं
  • Clear() - सभी हटाएं
  • Contains(key) - कुंजी मौजूदगी जांचें
  • IndexOfKey(key) - कुंजी का इंडेक्स प्राप्त करें
  • IndexOfValue(value) - वैल्यू का पहला इंडेक्स प्राप्त करें
  • [key] इंडेक्सर - कुंजी द्वारा वैल्यू प्राप्त/सेट करें
  • [index] इंडेक्सर - इंडेक्स द्वारा वैल्यू प्राप्त/सेट करें
  • Keys, Values - कुंजी/वैल्यू संग्रह
  • AsReadOnly() - रीड-ओनली रैपर
  • CopyTo(Array, index) - DictionaryEntry[] ऐरे में कॉपी (रिवर्स क्रम!)

आधुनिक विकल्प

नए कोड के लिए, निम्न विकल्पों पर विचार करें:

  • Dictionary<TKey, TValue> + अलग List<TKey> ऑर्डर के लिए
  • System.Collections.Generic.OrderedDictionary<TKey, TValue> (.NET 6+ में उपलब्ध नहीं, थर्ड-पार्टी लाइब्रेरीज़ उपयोग करें)
  • ImmutableDictionary<TKey, TValue> (इम्यूटेबल, ऑर्डर्ड)
  1. PowerPoint में रेडियल लिस्ट कैसे बनाएं PowerPoint में रेडियल लिस्ट कैसे बनाएं

    क्या आप एक ऐसी लिस्ट बनाना चाहते हैं जो आपके दर्शकों का ध्यान पलक झपकते ही आकर्षित कर ले? आप Microsoft PowerPoint में रेडियल लिस्ट बना सकते हैं ताकि आपके प्रेजेंटेशन को आकर्षक लुक मिले। रेडियल लिस्ट ग्राफिकली दिखाती है कि पार्ट्स कैसे एक साथ आकर एक केंद्रीय विचार बनाते हैं। PowerPoint में रेडियल लि

  1. PowerPoint में टाइमलाइन कैसे बनाएं PowerPoint में टाइमलाइन कैसे बनाएं

    एक टाइमलाइन चार्ट घटनाओं की श्रृंखला का ग्राफिकल रिप्रेजेंटेशन है, उदाहरण के लिए किसी व्यक्ति के जीवन की मुख्य घटनाएं या किसी प्रोजेक्ट में माइलस्टोन। अपना टाइमलाइन बनाने के बाद, आप तारीखें जोड़ और मूव कर सकते हैं, अलग-अलग स्टाइल और लेआउट जोड़ सकते हैं और टाइमलाइन का रंग बदल सकते हैं। इस पोस्ट में ह

  1. - पायथन में नेस्टेड डिक्शनरी कैसे बनाएं?

    आप नेस्टेड सिंटैक्स का उपयोग करके एक नेस्टेड डिक्शनरी बना सकते हैं, ठीक वैसे ही जैसे आप JSON ऑब्जेक्ट को परिभाषित करेंगे। उदाहरण a = { foo: 45, bar: { baz: 100, tru: Hello } } आप ऑब्जेक्ट को वैसे ही एक्सेस कर सकते हैं जैसे आप एक नॉर्मल डिक्शनरी को एक्सेस करते हैं। आप []