问题:我用等号直接Dictionary1=Dictionary2,复制过去的貌似是地址,我就是想把值复制过去 请问怎么实现,不要遍历一个一个复制,我做复制就是为了遍历,因为有个字典是动态的不能用foreach遍历
static void Main(string[] args) { Dictionary<string, int> d1 = new Dictionary<string, int>(); d1.Add("A", 1); d1.Add("B", 2); //使用构造函数可以实现不用for循环复制 Dictionary<string, int> d2 = new Dictionary<string, int>(d1); d2["B"] = 22;//改变d2只影响到d2 foreach (var kv in d2) Console.WriteLine("k={0} v={1}", kv.Key, kv.Value); foreach (var kv in d1) Console.WriteLine("k={0} v={1}", kv.Key, kv.Value); Console.ReadLine(); }