我試圖初始化用繩子元素作爲鍵的字典和int []元素值,如下所示:創建陣列字典作爲值
System.Collections.Generic.Dictionary<string,int[]> myDictionary;
myDictionary = new Dictionary<string,int[]>{{"length",{1,1}},{"width",{1,1}}};
但調試口口聲聲說:「意外的符號'{'」。
你能告訴我上面的代碼有什麼問題嗎?
謝謝!
我試圖初始化用繩子元素作爲鍵的字典和int []元素值,如下所示:創建陣列字典作爲值
System.Collections.Generic.Dictionary<string,int[]> myDictionary;
myDictionary = new Dictionary<string,int[]>{{"length",{1,1}},{"width",{1,1}}};
但調試口口聲聲說:「意外的符號'{'」。
你能告訴我上面的代碼有什麼問題嗎?
謝謝!
我不知道C#的,但在Java中,以下作品爲例:
代替
{1,1}
嘗試
new int[]{1,1}
或
new[]{1,1}
System.Collections.Generic.Dictionary<string,int[]> myDictionary;
myDictionary = new Dictionary<string, int[]> { { "length", new int[] { 1, 1 } }, { "width", new int[] { 1, 1 } } };
您將需要指定它是要插入到您的詞典的數組:
System.Collections.Generic.Dictionary<string, int[]> myDictionary;
myDictionary = new Dictionary<string, int[]> {{"length", new int[]{1,2}},{ "width",new int[]{3,4}}};
下面是工作的兩個例子。第二個例子只在一個方法內工作。第一個例子將在一個方法內部或者在一個類的方法外部工作。
初始代碼缺少新的Dictionary()語句的(),這可能是給出了「{」未顯示的符號錯誤。 「新的Int []」也是必需的
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} },
};
}
}
除了所有的好答案,你也可以試試這個。
Dictionary<string, List<int>> dict = new Dictionary<string, List<int>>();
如果可能更喜歡清單<>在數組作爲調整大小是在陣列困難。您不能從數組中刪除元素。但是一個元素可以從List中刪除。
或者只是'new [] {1,1}'如果你願意。 – drch 2012-03-31 22:50:40
謝謝!它現在起作用了! – Jodll 2012-04-01 11:32:22