我正在尝试使用字符串元素作为键和int []元素作为值来初始化字典,如下所示:
System.Collections.Generic.Dictionary<string,int[]> myDictionary;
myDictionary = new Dictionary<string,int[]>{{"length",{1,1}},{"width",{1,1}}};
但是调试器一直说:“意外的符号'{'”。
你能告诉我上面的代码有什么问题吗?
谢谢!
答案 0 :(得分:9)
我不确定c#,但以下是Java中的工作:
而不是
{1,1}
试
new int[]{1,1}
或
new[]{1,1}
答案 1 :(得分:6)
下面是两个有效的例子。第二个示例仅适用于方法。第一个示例将在一个方法内部或在类中的方法外部工作。
初始代码缺少新的Dictionary()语句的(),这可能是“{”未发现的符号错误。 “new 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} },
};
}
}
答案 2 :(得分:4)
System.Collections.Generic.Dictionary<string,int[]> myDictionary;
myDictionary = new Dictionary<string, int[]> { { "length", new int[] { 1, 1 } }, { "width", new int[] { 1, 1 } } };
答案 3 :(得分:4)
您需要指定它是一个插入词典的数组:
System.Collections.Generic.Dictionary<string, int[]> myDictionary;
myDictionary = new Dictionary<string, int[]> {{"length", new int[]{1,2}},{ "width",new int[]{3,4}}};
答案 4 :(得分:2)
除了所有好的答案,你也可以试试这个。
Dictionary<string, List<int>> dict = new Dictionary<string, List<int>>();
如果可能,请更喜欢List&lt;&gt;因为在数组中调整大小很困难。您无法从数组中删除元素。但是可以从List中删除一个元素。