c#将一个Dictionary复制到另一个Dictionary,只要复制值,不要复制地址

  • Post author:
  • Post category:其他


问题:我用等号直接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();
        }

转载于:https://www.cnblogs.com/MATU/p/6893709.html