有没有更聪明的方式来定义这样的字典:
类字段定义:
public Dictionary<string, object> paramList { get; set; }
稍后访问:
dt.paramList = new Dictionary<string, object> { { "id", rt_id }, { "gen", rt_gen }, { "rtext", rchar } };
dt.paramList = { { "id", rt_id }, { "gen", rt_gen }, { "rtext", rchar } };
...第二学期有效。否,尽管可以通过以下方式初始化数组:
int[,] b = { { 0,1}, { 1,1} };
答案 0 :(得分:0)
第dt.paramList = { { "id", rt_id }, { "gen", rt_gen }, { "rtext", rchar } };
行的含义是明确的。这可能意味着我们应该尝试为Dictionary<string, object>
属性分配一个二维数组。如果编译器是“智能”的并且将其解释为字典,则当该语句还有其他可能的含义时,编译器可以说是您的代码的合著者。这可能会引入意外错误:)
C#中Arrray初始化的语法是一种(从某种程度上)继承自C的特殊情况。对更复杂的对象进行假设更加困难。
而且,两者都不允许数组初始化:
public int[,] paramList { get; set; }
...
paramList = { { 0,1}, { 1,1} };
您必须写:
x.paramList = new [,]{ { 0,1}, { 1,1} };