我的代码如下:
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);
}
我创建了词典列表。然后我将字典添加到此列表中。但是当添加时,字典将为空,具有明确的功能,而不是从我的列表中删除。通常我的&#39; abc&#39; list应该包含xyz和klm字典及其值。但是当运行clearfunction时,xyz值计数将为0。我怎样才能阻止这个电台?
答案 0 :(得分:3)
我因为xyz
参考添加到abc
。使用:
abc.Add(new Dictionary<string, string>(xyz));