2009-05-08 16 views
47

प्रारंभ करने के लिए सबसे संक्षिप्त तरीका सी # # हैशटेबल को एक-पंक्ति अभिव्यक्तियों में पॉप्युलेट करने की अनुमति देता है? मैं कुछ नीचे अजगर के बराबर की सोच रहा हूँ:सी # हैशटेबल

mydict = {"a": 23, "b": 45, "c": 67, "d": 89} 

दूसरे शब्दों में, वहाँ एक अलग अभिव्यक्ति में प्रत्येक कुंजी-मान पेयर की स्थापना के लिए एक विकल्प है?

उत्तर

73

सी # 3 में एक भाषा विस्तार है जिसे संग्रह प्रारंभकर्ता कहा जाता है जो आपको एक कथन में संग्रह के मानों को प्रारंभ करने की अनुमति देता है।

यहाँ का उपयोग कर एक उदाहरण है एक Dictionary<,>:

using System; 
using System.Collections.Generic; 

class Program 
{ 
    static void Main() 
    { 
     var dict = new Dictionary<string, int> 
     { 
      {"a", 23}, {"b", 45}, {"c", 67}, {"d", 89} 
     }; 
    } 
} 

इस भाषा विस्तार सी # 3 संकलक और किसी भी प्रकार कि IEnumerable लागू करता है और एक सार्वजनिक Add विधि है द्वारा समर्थित है।

आप रुचि रखते हैं मैं तुम्हें के रूप में this question I asked here on StackOverflow पढ़ क्यों सी # टीम इस तरह के एक उत्सुक तरीके से इस भाषा विस्तार लागू किया (एक बार आप सवाल का उत्कृष्ट उत्तर पढ़ आप देखेंगे कि यह का एक बहुत बनाता है देखेंगे सुझाव है समझ)।

+1

क्या कई स्तरों को गहराई से परिभाषित करने के लिए एक समान वाक्यविन्यास है? उदाहरण के लिए, 'शब्दकोश <स्ट्रिंग, शब्दकोश <स्ट्रिंग, दशमलव >>'? –

+0

मुझे तकनीक मिली और इसे आपके उत्तर में एक संपादन के रूप में जोड़ा जाएगा, हालांकि यह थोड़ा सा शब्द है, यह सुनिश्चित नहीं है कि यह किसी को भी अधिक समय बचा रहा है या नहीं। –

संबंधित मुद्दे