2011-03-08 14 views
15

से चाबी की एक सूची निकालने के लिए संदिग्ध मेरे मस्तिष्क आज काम नहीं कर रहा कोशिश कर रहा है मैं एक, आदि कुंजियों की सूची निकालने के लिए की जरूरत है कुंजी गुण कुंजी ऑब्जेक्ट्स की "कुंजीकोलेक्शन" कक्षा देता है और सूची <> नहीं देता है।एक .NET शब्दकोश

+0

डुप्लिकेट: http://stackoverflow.com/questions/1276763/how-do-i-get-the-list-of-keys-in -ए-डिक्शनरी –

उत्तर

26

LINQ का उपयोग करके आप निम्न कर सकते हैं ...

List<String> myKeys = myDict.Keys.ToList(); 

हालांकि अपने लक्ष्य (चयनात्मक गणन आदि) इसे और अधिक समझ बनाने सकता है कुंजी संग्रह के साथ काम करने और परिवर्तित नहीं कुंजी के साथ क्या है पर निर्भर करता है एक सूची में।

+1

धन्यवाद - यह बहुत निफ्टी है: मुझे लिंक की लटकना होगा! – winwaed

4

हाँ, आप कोशिश कर सकते हैं - IEnumerable<String> myKeys = myDict.Keys;

हमेशा एक अच्छा विचार IEnumerable (एक अधिक सामान्य प्रकार) का उपयोग करें।

1

आप एक सच्चे सूची की जरूरत है:

List<string> myKeys = new List<string>(myDict.Keys); 
+1

यह रनटाइम त्रुटि उत्पन्न करता है – Smith

18

KeyCollection IEnumerable इंटरफ़ेस लागू करता है।

आप इसे एक सूची में बदलने के लिए एक विस्तार विधि का उपयोग कर सकते हैं।

List<String> myKeys = myDict.Keys.ToList(); 

या कोई भिन्न निर्माता का उपयोग करें:

List<String> myKeys = new List<String>(myDict.Keys); 
संबंधित मुद्दे