预期的方法名称

时间:2015-06-10 10:16:22

标签: c# arrays exception

我必须在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);

2 个答案:

答案 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);