C#でHashMapExのディープコピーを実現する方法は何ですか?

C#でHashMapの深いコピーを実現するには、次の手順を実行できます。

  1. 新しいHashMapオブジェクトを作成する。
  2. 元のHashMap内のすべてのキーと値のペアをループし、各キーと値をディープコピーしてください。
  3. 新しいHashMapオブジェクトに、深いコピーがされたキーと値のペアを追加してください。

HashMapのディープコピーを実現するためのサンプルコードが以下に示されています。

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // 创建一个原始的HashMap对象
        Dictionary<string, List<int>> originalMap = new Dictionary<string, List<int>>();
        originalMap.Add("key1", new List<int> { 1, 2, 3 });
        originalMap.Add("key2", new List<int> { 4, 5, 6 });

        // 创建一个新的HashMap对象用于深拷贝
        Dictionary<string, List<int>> deepCopyMap = new Dictionary<string, List<int>>();

        // 遍历原始HashMap,并进行深拷贝
        foreach (var kvp in originalMap)
        {
            string key = kvp.Key;
            List<int> value = new List<int>(kvp.Value); // 深拷贝

            deepCopyMap.Add(key, value);
        }

        // 输出原始HashMap和深拷贝后的HashMap
        Console.WriteLine("Original Map:");
        foreach (var kvp in originalMap)
        {
            Console.WriteLine($"{kvp.Key}: {string.Join(",", kvp.Value)}");
        }

        Console.WriteLine("\nDeep Copy Map:");
        foreach (var kvp in deepCopyMap)
        {
            Console.WriteLine($"{kvp.Key}: {string.Join(",", kvp.Value)}");
        }
    }
}

上記のコードでは、値としてListを使用し、その値をディープコピーしました。新しいListオブジェクトを作成し、元のListの要素を新しいListにコピーすることで、ディープコピーを実現しました。必要に応じてコードを変更して、要件を満たしてください。

bannerAds