OrderedDictionary.CopyTo() मेथड ऑर्डर्ड डिक्शनरी के की-वैल्यू पेयर्स को DictionaryEntry ऐरे में कॉपी करता है। OrderedDictionary इंसर्शन क्रम बनाए रखता है, लेकिन कॉपी रिवर्स क्रम में होती है (अंतिम इंसर्टेड पहले)।
उदाहरण 1: सटीक आकार के ऐरे में कॉपी (इंडेक्स 0)
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
OrderedDictionary dict = new OrderedDictionary();
dict.Add(1, "Harry");
dict.Add(2, "Mark");
dict.Add(3, "John");
dict.Add(4, "Jacob");
dict.Add(5, "Tim");
Console.WriteLine("OrderedDictionary तत्व (इंसर्शन क्रम)...");
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);
}
}
}
आउटपुट
OrderedDictionary तत्व (इंसर्शन क्रम)...
1 Harry
2 Mark
3 John
4 Jacob
5 Tim
ऐरे इंस्टेंस में कॉपी (नोट: रिवर्स क्रम)...
Key = 5, Value = Tim
Key = 4, Value = Jacob
Key = 3, Value = John
Key = 2, Value = Mark
Key = 1, Value = Harry
उदाहरण 2: बड़े ऐरे में कॉपी (खाली स्लॉट्स के साथ)
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
OrderedDictionary dict = new OrderedDictionary();
dict.Add(1, 10);
dict.Add(2, 20);
Console.WriteLine("OrderedDictionary तत्व...");
foreach (DictionaryEntry entry in dict) {
Console.WriteLine(entry.Key + " " + entry.Value);
}
// 5 आकार का ऐरे (लिस्ट से बड़ा)
DictionaryEntry[] dictArr = new DictionaryEntry[5];
// इंडेक्स 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);
}
}
}
आउटपुट
OrderedDictionary तत्व...
1 10
2 20
ऐरे इंस्टेंस में कॉपी (रिवर्स क्रम + खाली स्लॉट्स)...
Key = 2, Value = 20
Key = 1, Value = 10
Key = , Value =
Key = , Value =
Key = , Value =
महत्वपूर्ण व्यवहार: रिवर्स कॉपी क्रम
OrderedDictionary.CopyTo() तत्वों को रिवर्स इंसर्शन क्रम में कॉपी करता है (सबसे हालिया इंसर्टेड पहले)। यह आंतरिक कार्यान्वयन विवरण है और दस्तावेज़ीकृत व्यवहार है।
- इंसर्शन क्रम: 1, 2, 3, 4, 5
- कॉपी क्रम: 5, 4, 3, 2, 1
foreachइटरेशन इंसर्शन क्रम देता है।CopyToरिवर्स क्रम देता है।
मुख्य बिंदु
- लक्ष्य ऐरे:
DictionaryEntry[]। - इंडेक्स पैरामीटर: लक्ष्य ऐरे में प्रारंभिक स्थिति।
- खाली स्लॉट्स: डिफ़ॉल्ट DictionaryEntry (null की/वैल्यू)।
- OrderedDictionary इंसर्शन क्रम बनाए रखता है (कुंजी या इंडेक्स द्वारा एक्सेस)।
- लीगेसी क्लास: नए कोड के लिए
Dictionary<TKey, TValue>+ अलग ऑर्डर ट्रैकिंग उपयोग करें।