添加词典到词典列表
Add Dictionary To Dictionary List
我有如下代码:
static void Main(string[] args)
{
List<Dictionary<string, string>> abc = new List<Dictionary<string, string>>();
Dictionary<string, string> xyz = new Dictionary<string, string>();
Dictionary<string, string> klm = new Dictionary<string, string>();
xyz.Add("xyz_1", "4");
xyz.Add("xyz_2", "5");
klm.Add("klm_1", "9");
klm.Add("klm_2", "8");
abc.Add(xyz);
xyz.Clear();
/*after this code xyz clear in my abc list. Why ?*/
abc.Add(klm);
}
我正在创建词典列表。然后我将词典添加到此列表中。但是当添加时,我的词典上有 运行 清除功能,然后它也从我的列表中删除。通常我的 'abc' 列表应该有 xyz 和 klm 字典及其值。但是在 运行 clear() 之后 xyz 值计数将为 0。我怎样才能避免这种情况?
这是因为 xyz
引用添加到 abc
。使用:
abc.Add(new Dictionary<string, string>(xyz));
我有如下代码:
static void Main(string[] args)
{
List<Dictionary<string, string>> abc = new List<Dictionary<string, string>>();
Dictionary<string, string> xyz = new Dictionary<string, string>();
Dictionary<string, string> klm = new Dictionary<string, string>();
xyz.Add("xyz_1", "4");
xyz.Add("xyz_2", "5");
klm.Add("klm_1", "9");
klm.Add("klm_2", "8");
abc.Add(xyz);
xyz.Clear();
/*after this code xyz clear in my abc list. Why ?*/
abc.Add(klm);
}
我正在创建词典列表。然后我将词典添加到此列表中。但是当添加时,我的词典上有 运行 清除功能,然后它也从我的列表中删除。通常我的 'abc' 列表应该有 xyz 和 klm 字典及其值。但是在 运行 clear() 之后 xyz 值计数将为 0。我怎样才能避免这种情况?
这是因为 xyz
引用添加到 abc
。使用:
abc.Add(new Dictionary<string, string>(xyz));