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

C# में ListDictionary को ऐरे इंस्टेंस में कॉपी करना

ListDictionary.CopyTo() मेथड लिस्ट डिक्शनरी के की-वैल्यू पेयर्स को DictionaryEntry ऐरे में कॉपी करता है। ListDictionary छोटे डेटा सेट के लिए ऑप्टिमाइज़्ड लिंक्ड-लिस्ट आधारित डिक्शनरी है।

उदाहरण 1: सटीक आकार के ऐरे में कॉपी (इंडेक्स 0)

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

public class Demo {
    public static void Main() {
        ListDictionary dict = new ListDictionary();
        dict.Add(1, "Harry");
        dict.Add(2, "Mark");
        dict.Add(3, "John");
        dict.Add(4, "Jacob");
        dict.Add(5, "Tim");
        dict.Add(6, "Sam");
        dict.Add(7, "Tom");
        dict.Add(8, "Kevin");

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

        // Count आकार का ऐरे
        DictionaryEntry[] dictArr = new DictionaryEntry[dict.Count];
        
        // इंडेक्स 0 से कॉपी करें
        dict.CopyTo(dictArr, 0);

        Console.WriteLine("\nऐरे इंस्टेंस में कॉपी (इंसर्शन क्रम में)...");
        for (int i = 0; i < dictArr.Length; i++) {
            Console.WriteLine("Key = " + dictArr[i].Key + ", Value = " + dictArr[i].Value);
        }
    }
}

आउटपुट

ListDictionary तत्व (इंसर्शन क्रम)...
1 Harry
2 Mark
3 John
4 Jacob
5 Tim
6 Sam
7 Tom
8 Kevin

ऐरे इंस्टेंस में कॉपी (इंसर्शन क्रम में)...
Key = 1, Value = Harry
Key = 2, Value = Mark
Key = 3, Value = John
Key = 4, Value = Jacob
Key = 5, Value = Tim
Key = 6, Value = Sam
Key = 7, Value = Tom
Key = 8, Value = Kevin

उदाहरण 2: बड़े ऐरे में ऑफसेट के साथ कॉपी

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

public class Demo {
    public static void Main() {
        ListDictionary dict = new ListDictionary();
        dict.Add(1, "Harry");
        dict.Add(2, "Mark");
        dict.Add(3, "John");
        dict.Add(4, "Jacob");
        dict.Add(5, "Tim");

        Console.WriteLine("ListDictionary तत्व...");
        foreach (DictionaryEntry entry in dict) {
            Console.WriteLine(entry.Key + " " + entry.Value);
        }

        // 10 आकार का ऐरे, इंडेक्स 5 से कॉपी करें
        DictionaryEntry[] dictArr = new DictionaryEntry[10];
        dict.CopyTo(dictArr, 5);

        Console.WriteLine("\nऐरे इंस्टेंस में कॉपी (इंडेक्स 5 से, इंसर्शन क्रम)...");
        for (int i = 0; i < dictArr.Length; i++) {
            Console.WriteLine("Key = " + dictArr[i].Key + ", Value = " + dictArr[i].Value);
        }
    }
}

आउटपुट

ListDictionary तत्व...
1 Harry
2 Mark
3 John
4 Jacob
5 Tim

ऐरे इंस्टेंस में कॉपी (इंडेक्स 5 से, इंसर्शन क्रम)...
Key = , Value = 
Key = , Value = 
Key = , Value = 
Key = , Value = 
Key = , Value = 
Key = 1, Value = Harry
Key = 2, Value = Mark
Key = 3, Value = John
Key = 4, Value = Jacob
Key = 5, Value = Tim

ListDictionary बनाम OrderedDictionary कॉपी क्रम

क्लासforeach क्रमCopyTo क्रम
ListDictionaryइंसर्शन क्रमइंसर्शन क्रम (समान)
OrderedDictionaryइंसर्शन क्रमरिवर्स इंसर्शन क्रम

मुख्य बिंदु

  • ListDictionary छोटे संग्रह (आमतौर पर ≤ 10 आइटम) के लिए कुशल है।
  • CopyTo इंसर्शन क्रम बनाए रखता है (OrderedDictionary के विपरीत)।
  • लक्ष्य ऐरे: DictionaryEntry[]।
  • लीगेसी क्लास: नए कोड के लिए Dictionary<TKey, TValue> उपयोग करें।
  • आंतरिक रूप से सिंगली लिंक्ड लिस्ट का उपयोग करता है।
  1. - C# में ListDictionary से निर्दिष्ट कुंजी वाली प्रविष्टि हटाएं

    C# में ListDictionary वर्ग की Remove(key) विधि का उपयोग करके निर्दिष्ट कुंजी और उससे जुड़े मान को हटाया जा सकता है। यह विधि कुंजी मौजूद होने पर प्रविष्टि हटा देती है। ListDictionary छोटे संग्रह के लिए अनुकूलित है। उदाहरण 1: दो ListDictionary से कुंजी हटाना using System; using System.Collections; us

  1. - C# में SortedList से निर्दिष्ट सूचकांक पर तत्व हटाएं

    C# में SortedList वर्ग की RemoveAt(int index) विधि का उपयोग करके निर्दिष्ट सूचकांक पर स्थित कुंजी-मान जोड़े को हटाया जा सकता है। चूंकि SortedList कुंजियों के आधार पर क्रमबद्ध होता है, सूचकांक क्रमबद्ध क्रम को दर्शाता है, सम्मिलन क्रम नहीं। उदाहरण 1: सूचकांक 3 पर तत्व हटाना using System; using Syste

  1. - C# में ListDictionary में निर्दिष्ट कुंजी से मान प्राप्त या सेट करें

    C# में ListDictionary वर्ग के सूचकांकर [key] का उपयोग करके निर्दिष्ट कुंजी से जुड़े मान को प्राप्त या सेट किया जा सकता है। यह सूचकांकर कुंजी मौजूद होने पर मान लौटाता है, और मान सेट करने पर मौजूदा मान को अपडेट करता है या नई प्रविष्टि बनाता है। उदाहरण 1: कुंजी से मान प्राप्त करना using System; using