0
をコピーすると、私は辞書の2D配列持って言うことができます:2D配列 -
public Dictionary<int, string>[,] mat = new Dictionary<int, string>[3, 5]
{
{ new Dictionary<int, string>(), new Dictionary<int, string>(), new Dictionary<int, string>() },
{ new Dictionary<int, string>(), new Dictionary<int, string>(), new Dictionary<int, string>() },
{ new Dictionary<int, string>(), new Dictionary<int, string>(), new Dictionary<int, string>() },
{ new Dictionary<int, string>(), new Dictionary<int, string>(), new Dictionary<int, string>() },
{ new Dictionary<int, string>(), new Dictionary<int, string>(), new Dictionary<int, string>() }
}
を、私は他にコピーこれに必要になります。私はすべての方法を試みた。以下のような
何か:
matNew = mat;
が、私は最初のものを変更したときはまだ、それは自動的に2番目の1を変更します。
私は本当にこれを行う方法がわかりません。
もう1つは変更されていますので、代わりにディープコピーが必要ですか? – payo
@payo - はい、正確です。 –
配列は参照型です。 "mat"はインスタンスへの参照にすぎず、 "matNew = mat"は実際の配列ではなく参照をコピーします。配列のコピーを作成しようとしていますか、配列のコピーとその中のすべての辞書を作成しようとしていますか? –