gpt4 book ai didi

c# - 需要帮助手动添加到字典

转载 作者:行者123 更新时间:2023-12-03 18:29:40 26 4
gpt4 key购买 nike

我很困惑,我正在尝试手动将条目添加到字典中,但它在第一个逗号处抛出错误。感谢您提供任何帮助。

        private Dictionary<string, Dictionary<string, string>> packData =
new Dictionary<string, Dictionary<string, string>>()
{
{
"Test", //issue here
{
"Test" , "Test"
}
};
};

enter image description here

最佳答案

您需要明确说明内部字典:

    new Dictionary<string, Dictionary<string, string>>()
{
{
"Test",
new Dictionary<string, string>
{
"Test" , "Test"
}
};
};

此处要遵循的规则是“想象一下,如果大括号中的内容被替换为对 Add 的调用”。在您的原始代码中,我们会将其降低为:

    temp = new Dictionary<string, Dictionary<string, string>>();
temp.Add("Test", { "Test", "Test" });

这不是合法代码。但是

    temp = new Dictionary<string, Dictionary<string, string>>();
temp.Add("Test", new Dictionary<string, string>(){ "Test", "Test" });

是合法的,反过来对应

    temp = new Dictionary<string, Dictionary<string, string>>();
temp2 = new Dictionary<string, string>();
temp2.Add("Test", "Test");
temp.Add("Test", temp2);

我经常发现,当我感到困惑时,将代码“降低”为更基本的形式有助于理解正在发生的事情。

在某些情况下,编译器会更聪明地理解嵌套大括号的预期含义,就像在您的原始代码中一样,但不幸的是,这不是其中之一。有关支持和不支持的更多详细信息,请参阅规范;您需要搜索“对象初始化器”和“集合初始化器”。

关于c# - 需要帮助手动添加到字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60471404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com