溫馨提示×

c#中hashmapex深拷貝怎么實現(xiàn)

c#
小億
101
2024-02-19 11:45:26
欄目: 編程語言

在C#中實現(xiàn)HashMap的深拷貝可以通過以下步驟實現(xiàn):

  1. 創(chuàng)建一個新的HashMap對象。
  2. 遍歷原始HashMap中的每一個key-value對,并將每個鍵和值都進行深拷貝。
  3. 將深拷貝后的鍵值對添加到新的HashMap對象中。

以下是一個示例代碼來實現(xiàn)HashMap的深拷貝:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // 創(chuàng)建一個原始的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 });

        // 創(chuàng)建一個新的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<int>作為值,對值進行了深拷貝。通過創(chuàng)建新的List對象并將原始List的元素復(fù)制到新的List中,實現(xiàn)了深拷貝。您可以根據(jù)實際情況修改代碼以滿足您的需求。

0