如何构造 Dictionary<string, List<string>> 的实例

How to construct an instance of Dictionary<string, List<string>>

我正在尝试用 C# 编写代码,但我发现我无法像 C++ 那样以这种方式构造实例:

Dictionary<string, List<string>> FirSet =
    new Dictionary<string, List<string>>() {
        { "a", {"ab", "abc"} },
        { "b", {"bc", "bcd"} }
    };

您必须使用 new List<string>()

启动字典中的列表

它应该如何工作:

Dictionary<string, List<string>> FirSet = new Dictionary<string, List<string>>()
{
    { "a", new List<string> { "ab", "abc" }},
    { "b", new List<string> { "bc", "bcd" }}
};
    var firSet =
        new Dictionary<string, List<string>>()
        {
            { "a", new List<string>() {"ab", "abc"} },
            { "b", new List<string>() {"bc", "bcd"} }
        };

您还可以使用 C# 6.0 语法:

    var firSet =
        new Dictionary<string, List<string>>()
        {
            ["a"] = new List<string> {"ab", "abc"},
            ["b"] = new List<string> {"bc", "bcd"}
        };

如果您觉得特别懒惰,不想输入所有这些内容new List<string>,您可以随时这样做:

    var firSet =
        new Dictionary<string, string[]>()
        {
            { "a", new[] {"ab", "abc"} },
            { "b", new[] {"bc", "bcd"} }
        }
        .ToDictionary(i => i.Key, i => i.Value.ToList());