2012-03-31 7 views
11

मैं कुंजी के रूप में स्ट्रिंग तत्वों के साथ एक शब्दकोश प्रारंभ और [] int मूल्यों के रूप में तत्वों के लिए कोशिश कर रहा हूँ, इस प्रकार है:सरणियों के साथ एक शब्दकोश बनाने के रूप में महत्व देता

System.Collections.Generic.Dictionary<string,int[]> myDictionary; 
myDictionary = new Dictionary<string,int[]>{{"length",{1,1}},{"width",{1,1}}}; 

लेकिन डिबगर कह रहता है: "अप्रत्याशित प्रतीक '{' '।

आप मुझे बता सकते हैं क्या इसके बाद के संस्करण कोड के साथ गलत क्या है?

धन्यवाद!

उत्तर

8

मैं सी # के लिए यकीन नहीं है, लेकिन उदाहरण के लिए जावा में निम्नलिखित काम करता है:

के बजाय
{1,1} 

new int[]{1,1} 

या

new[]{1,1} 
+2

या बस 'नई [] {1,1}' आप चाहें तो। – drch

+0

धन्यवाद! यह अब काम करता है! – Jodll

4
System.Collections.Generic.Dictionary<string,int[]> myDictionary; 
     myDictionary = new Dictionary<string, int[]> { { "length", new int[] { 1, 1 } }, { "width", new int[] { 1, 1 } } }; 
कोशिश
3

आपको लगता है कि यह एक सरणी है कि आप अपने शब्दकोश में डालने कर रहे हैं निर्दिष्ट करने के लिए की आवश्यकता होगी:

System.Collections.Generic.Dictionary<string, int[]> myDictionary; 
myDictionary = new Dictionary<string, int[]> {{"length", new int[]{1,2}},{ "width",new int[]{3,4}}}; 
6

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

प्रारंभिक कोड याद आ रही थी() नया शब्दकोश() बयान जो शायद है क्या "{" unexepcted प्रतीक त्रुटि दे दी है के लिए। "नया इंट []" भी आवश्यक है

class SomeClass 
{ 
    Dictionary<string, int[]> myDictionary = new Dictionary<string, int[]>() 
    { 
     {"length", new int[] {1,1} }, 
     {"width", new int[] {1,1} }, 
    }; 

    public void SomeMethod() 
    { 
     Dictionary<string, int[]> myDictionary2; 
     myDictionary2 = new Dictionary<string, int[]>() 
     { 
      {"length", new int[] {1,1} }, 
      {"width", new int[] {1,1} }, 
     }; 

    } 
} 
1

सभी अच्छे उत्तरों के अलावा आप इसे भी आजमा सकते हैं।

Dictionary<string, List<int>> dict = new Dictionary<string, List<int>>(); 

यदि संभव हो सरणियों से अधिक सूची <> पसंद करते हैं के रूप में आकार बदलने सरणी में मुश्किल है। आप किसी सरणी से तत्व को हटा नहीं सकते हैं। लेकिन सूची से एक तत्व हटाया जा सकता है।

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