次のコードで面白い問題が発生しました。 productObjectは、 'VendorLocationId'を含む多くの製品関連変数を含むカスタムオブジェクトです。リストボックスにこれらの項目を考えるASP.net c#magical array issue
:
"タウンA" 値:1
"タウンB" 値は:2
また所与:両方の項目がリストボックス内で選択されます。私はこの困惑を見つける
productObjectArray[0].VendorLocationId = 2
productObjectArray[1].VendorLocationId = 2
:実行した後
1 productObjectArray[] productObjectArray = new productObjectArray[lstLocation.Items.Count];
2 int counter = 0;
3 foreach (ListItem li in lstLocation.Items)
4 {
5 if (li.Selected == true)
6 {
7 productObject.VendorLocationId = li.Value;
8 productObjectArray[counter] = productObject;
9 }
10 counter++;
11 }
は、上記のコードは、この結果を与えます。 productObjectArray [0] .VendorLocationIdは魔法のように2になり、counter = 1になります。
ありがとうございます。私は、各配列項目に対して新しいオブジェクトを生成することによってコードを修正しました。 – Paulj