0

参照型と値型のリストの背後にある概念を理解できなかったようです。

ここでは、一度に125個の値で30000uint16の配列を埋めたいと思います。

終了したら、それをリストに追加して、30000個の値の別のチャンクを埋め始めたいと思います。ただし、参照は1つの配列にのみ保存します。テストコードは次のとおりです。

UInt16[] ND = new UInt16[30000];
OMD.Clear();
for (int i = 0; i < 30000; i++) ND[i] = (ushort)i;
OMD.Add(ND);
for (int i = 0; i < 30000; i++) ND[i] = 13;
OMD.Add(ND);

2番目のループでは、OMDの最初の配列メンバーはその値を失い、13に変更されます。

4

1 に答える 1

1

参照をクリアして、各サイクルの後に新しい参照を作成できます。

UInt16[] ND = new UInt16[30000];
OMD.Clear();
for (int i = 0; i < 30000; i++) ND[i] = (ushort)i;
OMD.Add(ND);

ND = new UInt16[30000];
for (int i = 0; i < 30000; i++) ND[i] = 13;
OMD.Add(ND);
于 2012-05-28T20:21:39.193 に答える