C# 如何在C中向集合添加字典值?

C# 如何在C中向集合添加字典值?,c#,C#,我正在进行一个C测试,在这里我有ICollection和ProductVariant的名称字段,这是一个字典。我希望有多个ProductVariant用于测试 我所做的是 ICollection productVariants=新集合; 现在,我想向该系列添加不同的产品变体 productVariant.Addnew productVariant { //我想在这里初始化一个字典名 Name=新词典varyvar1,variant1 }; 但这不起作用。字典的内联初始化看起来有点不同 produ

我正在进行一个C测试,在这里我有ICollection和ProductVariant的名称字段,这是一个字典。我希望有多个ProductVariant用于测试

我所做的是

ICollection productVariants=新集合; 现在,我想向该系列添加不同的产品变体

productVariant.Addnew productVariant { //我想在这里初始化一个字典名 Name=新词典varyvar1,variant1 };
但这不起作用。

字典的内联初始化看起来有点不同

productVariant.Add(new ProductVariant()
{ 
    Name = new Dictionary<string, string>()
    {
        { "var1", "variant1" },
        { "var2", "variant1" }
    }
};
或者,可以将局部变量指定给属性。我更喜欢这种方法,因为在发生错误时,stacktrace很好

var nameDict = new Dictionary<string, string>();
nameDict.Add("var1", "variant1");
nameDict.Add("var2", "variant1");

productVariant.Add(new ProductVariant()
{ 
    Name = nameDict
};

字典的内联初始化看起来有点不同

productVariant.Add(new ProductVariant()
{ 
    Name = new Dictionary<string, string>()
    {
        { "var1", "variant1" },
        { "var2", "variant1" }
    }
};
或者,可以将局部变量指定给属性。我更喜欢这种方法,因为在发生错误时,stacktrace很好

var nameDict = new Dictionary<string, string>();
nameDict.Add("var1", "variant1");
nameDict.Add("var2", "variant1");

productVariant.Add(new ProductVariant()
{ 
    Name = nameDict
};

定义不工作?您是否收到错误消息?如果是这样的话,他们会怎么说?你可能应该告诉我们你的数据是什么样子的,你的方法看起来不像你应该采用的方法定义不起作用?您是否收到错误消息?如果是这样的话,他们说什么?你可能应该告诉我们你的数据是什么样子的,你的方法看起来不像你应该采用的方法。OP需要一个嵌套的初始值设定项。没有一个字典构造函数为一个元素获取key和value,这样的事情也没有意义。OP需要一个嵌套的初始值设定项。没有一个字典构造函数为一个元素获取key&value,这样的事情也没有意义。