我必须在c#中创建一个带有数组的json文件,所以这是我的代码,但抛出异常:
Method name expected
之前new Dictionary<string, int>[2]();
你有什么建议吗?
int[] lung = results.ToArray();
Dictionary<string, Dictionary<string, int>[]> padre = new Dictionary<string, Dictionary<string, int>[]>();
Dictionary<string, int>[] udemy = new Dictionary<string, int>[2]();
padre.Add("Lunghezza", udemy);
udemy[0].Add("attributo", lung[0]);
udemy[1].Add("attributo2", lung[1]);
string js = JsonConvert.SerializeObject(padre);
System.Diagnostics.Debug.WriteLine(js);
答案 0 :(得分:3)
这不是你如何构造一个数组;
new Dictionary<string, int>[2]()
你根本不需要()
- 你没有调用方法或构造函数;你正在创建一个数组实例。只是:
new Dictionary<string, int>[2]
当然,你也需要填充数组。例如
udemy[0] = new Dictionary<string, int>();
udemy[1] = new Dictionary<string, int>();
使用更简单的数组类型可以更容易地看到问题:
// Invalid
int[] x = new int[2]();
// Valid
int[] x = new int[2];
作为旁注,一种Dictionary<string, Dictionary<string, int>[]>
非常可怕 - 我强烈建议你重新设计它以使用更有意义的类型。
答案 1 :(得分:0)
int[] lung = results.ToArray();
Dictionary<string, Dictionary<string, int>[]> padre = new Dictionary<string, Dictionary<string, int>[]>();
Dictionary<string, int>[] udemy = new Dictionary<string, int>[2]();
// populate
udemy[0].Add("attributo", lung[0]);
udemy[1].Add("attributo2", lung[1]);
// then add
padre.Add("Lunghezza", udemy);
string js = JsonConvert.SerializeObject(padre);
System.Diagnostics.Debug.WriteLine(js);