0

OrderedDictionary のディープ コピーを作成する最も簡単な方法は何ですか? 次のような新しい変数を作成してみました。

var copy = dict[x] as OrderedDictionary;

しかし、コピーの値/キーを更新すると、dict[x] の辞書も更新されます。

編集: dict は別の OrderedDictionary です。

4

3 に答える 3

0

ディクショナリに保存しているオブジェクトのタイプは何ですか?

ディクショナリのコンテンツを繰り返し処理し、何らかの方法でコンテンツを複製/複製する必要があります。

オブジェクトが実装されている場合、次のICloneableようなことができます。

Dictionary<int, MyObject> original = new Dictionary<int, MyObject>();
... code to populate original ...

Dictionary<int, MyObject> deepCopy = new Dictionary<int, MyObject>();

foreach(var v in a)
{
    MyObject clone = v.Value.Clone();
    b.Add(v.Key, clone);
}
于 2013-09-18T13:14:41.087 に答える