ऑर्डर द्वारा ऑर्डरर्ड डिक्शनरी से आइटम की कुंजी और मूल्य कैसे प्राप्त करें?सूचकांक द्वारा OrderedDictionary से सी # में कुंजी कैसे प्राप्त करें?
उत्तर
ऐसा करने के लिए प्रत्यक्ष अंतर्निहित तरीका नहीं है। ऐसा इसलिए है क्योंकि OrderedDictionary
के लिए सूचकांक कुंजी है; यदि आप वास्तविक कुंजी चाहते हैं तो आपको इसे स्वयं ट्रैक करना होगा। शायद सबसे सरल तरीके से एक इंडेक्स करने योग्य संग्रह के लिए कुंजी कॉपी करने के लिए है:
// dict is OrderedDictionary
object[] keys = new object[dict.Keys.Count];
dict.Keys.CopyTo(keys, 0);
for(int i = 0; i < dict.Keys.Count; i++) {
Console.WriteLine(
"Index = {0}, Key = {1}, Value = {2}",
i,
keys[i],
dict[i]
);
}
आप एक नया वर्ग है कि OrderedDictionary
के लिए उपयोग लपेटता में इस व्यवहार को संपुटित सकता है।
मैंने कुछ विस्तार विधियां बनाई हैं जो पहले बताए गए कोड का उपयोग करके इंडेक्स और कुंजी द्वारा कुंजी प्राप्त करती हैं।
public static T GetKey<T>(this OrderedDictionary dictionary, int index)
{
if (dictionary == null)
{
return default(T);
}
try
{
return (T)dictionary.Cast<DictionaryEntry>().ElementAt(index).Key;
}
catch (Exception)
{
return default(T);
}
}
public static U GetValue<T, U>(this OrderedDictionary dictionary, T key)
{
if (dictionary == null)
{
return default(U);
}
try
{
return (U)dictionary.Cast<DictionaryEntry>().AsQueryable().Single(kvp => ((T)kvp.Key).Equals(key)).Value;
}
catch (Exception)
{
return default(U);
}
}
यदि आपका इरादा डिफ़ॉल्ट मान वापस करना है यदि लक्षित अनुक्रमणिका/कुंजी शब्दकोश में नहीं है तो आपने एक महंगा तरीका चुना है कर दो। सामान्य नियंत्रण-प्रवाह संरचनाओं के संबंध में अपवाद बहुत महंगे होते हैं जैसे कि/else। एक अपवाद पर भरोसा करने के बजाय आउट-ऑफ-बाउंड इंडेक्स और गैर-मौजूदा कुंजी की जांच करना बेहतर होगा। – Odrade
- 1. जावा - हैश मैप में कुंजी का सूचकांक प्राप्त करें?
- 2. तत्व सूचकांक द्वारा LinkedHashMap का सबमिशन कैसे प्राप्त करें?
- 3. सी ++ एसटीएल वेक्टर: सूचकांक से इटरेटर प्राप्त करें?
- 4. TDictionary से कुंजी कैसे प्राप्त करें?
- 5. VALUE से सरणी कुंजी कैसे प्राप्त करें?
- 6. mysql अद्वितीय कुंजी और सूचकांक
- 7. सूचकांक से पंक्ति और कॉलम कैसे प्राप्त करें?
- 8. MouseEvent से JTable में पंक्ति सूचकांक को विश्वसनीय रूप से कैसे प्राप्त करें?
- 9. एनएस डिक्शनरी में संबंधित मूल्य से कुंजी कैसे प्राप्त करें?
- 10. BouncyCastle X509 प्रमाणपत्र से निजी कुंजी प्राप्त करें? सी #
- 11. आर में पंक्ति सूचकांक संख्या कैसे प्राप्त करें?
- 12. ड्रॉपडाउन सूची में पंक्ति सूचकांक कैसे प्राप्त करें IndexChanged?
- 13. एसक्यूएल प्राथमिक कुंजी और सूचकांक
- 14. स्कैला TreeMap से कुंजी कैसे सेट करें और प्राप्त करें?
- 15. OrderedDictionary की जटिलता क्या है?
- 16. स्ट्रिंग द्वारा सी # गतिशील वस्तु से संपत्ति के मूल्य प्राप्त
- 17. मानचित्र में पहली उपलब्ध कुंजी प्राप्त करें
- 18. UICollectionView में इंडेक्स पथ से सूचकांक कैसे ठीक से प्राप्त करें?
- 19. जावा में रीगेक्स द्वारा अंतिम सूचकांक खोजें
- 20. एकाधिक कुंजी सूचकांक क्या है?
- 21. मोंगोज़, नोड.जेएस में var द्वारा कुंजी कैसे सेट करें?
- 22. सी # में कॉन्स्ट-शुद्धता कैसे प्राप्त करें?
- 23. सी # में ट्विटर से तस्वीरें प्राप्त करें?
- 24. मैं एक पैटर्न द्वारा ऑब्जेक्ट कुंजी कैसे प्राप्त करूं?
- 25. इंडेक्स पर आधारित LinkedHashMap से मूल्य कैसे प्राप्त करें?
- 26. जावाएफएक्स 2: टेबलसेल पंक्ति सूचकांक प्राप्त करें
- 27. उदाहरण jQuery प्राप्त सूचकांक/
- 28. लिनक्स में कर्सर कुंजी द्वारा कमांड इतिहास कैसे प्राप्त करें tclsh
- 29. ऑब्जेक्ट संग्रह से "id" द्वारा ऑब्जेक्ट कैसे प्राप्त करें?
- 30. PowerShell द्वारा xml से मान कैसे प्राप्त करें?
मैं भी ऐसा ही किया, लेकिन एक बार देखें: OrderedDictionary सूची = OrderItems; ऑब्जेक्ट strKey = सूची [e.OldIndex]; शब्दकोश एंटर्री dicEntry = new DictionaryEntry(); foreach (शब्दकोश में एंटर्री डेई) { अगर (DE.Value == strKey) { dicEntry.Key = DE.Key; dicEntry.Value = DE.Value; } } –
@RedSwan: सूचकांक कहां है? – testing
सूचकांक निश्चित रूप से * नहीं * कुंजी है - वे '' OrderedDictionary'' में आवश्यक रूप से अलग-अलग संरचनाएं हैं। – Conrad