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