15

我的语法有什么问题?我希望能够以此获得价值“创世纪”info["Gen"]["name"]

    public var info = new Dictionary<string, Dictionary<string, string>> {
    {"Gen", new Dictionary<string, string> {
    {"name", "Genesis"},
    {"chapters", "50"},
    {"before", ""},
    {"after", "Exod"}
    }},
    {"Exod", new Dictionary<string, string> {
    {"name", "Exodus"},
    {"chapters", "40"},
    {"before", "Gen"},
    {"after", "Lev"}
    }}};
4

2 回答 2

35

您不能使用 定义类字段var

更改varDictionary<string, Dictionary<string, string>>

public Dictionary<string, Dictionary<string, string>> info =
    new Dictionary<string, Dictionary<string, string>>
    {
        {
            "Gen",
            new Dictionary<string, string>
            {
                {"name", "Genesis"},
                {"chapters", "50"},
                {"before", ""},
                {"after", "Exod"}
            }
        },
        {
            "Exod",
            new Dictionary<string, string>
            {
                {"name", "Exodus"},
                {"chapters", "40"},
                {"before", "Gen"},
                {"after", "Lev"}
            }
        }
    };

有关关键字及其用法的更多信息,请参见此处。var

于 2013-03-19T13:45:01.080 回答
3

MSDN;

  • var 只能在同一语句中声明和初始化局部变量时使用;变量不能初始化为 null,也不能初始化为方法组或匿名函数。

  • var 不能用于类范围内的字段。

  • 使用 var 声明的变量不能在初始化表达式中使用。

只需将您更改varDictionary<string, Dictionary<string, string>>. 像;

public Dictionary<string, Dictionary<string, string>> info =
    new Dictionary<string, Dictionary<string, string>>{}
于 2013-03-19T13:50:01.113 回答