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


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM