同じオブジェクトではないようにDictionary<string, string>
を別のnew Dictionary<string, string>
にコピーするにはどうすればよいですか?
同じオブジェクトへの参照ではなく、個別のオブジェクトにしたい場合は、次のようにします。
Dictionary<string, string> d = new Dictionary<string, string>();
Dictionary<string, string> d2 = new Dictionary<string, string>(d);
「それらが同じオブジェクトではないように。」
あいまいさは豊富です-実際に同じオブジェクトへの参照にしたい場合:
Dictionary<string, string> d = new Dictionary<string, string>();
Dictionary<string, string> d2 = d;
(上記の後にd
またはd2
を変更すると、両方に影響します)
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
Dictionary<string, string> first = new Dictionary<string, string>()
{
{"1", "One"},
{"2", "Two"},
{"3", "Three"},
{"4", "Four"},
{"5", "Five"},
{"6", "Six"},
{"7", "Seven"},
{"8", "Eight"},
{"9", "Nine"},
{"0", "Zero"}
};
Dictionary<string, string> second = new Dictionary<string, string>();
foreach (string key in first.Keys)
{
second.Add(key, first[key]);
}
first["1"] = "newone";
Console.WriteLine(second["1"]);
}
}