1

私はオブジェクトの詳細を繰り返し追加するために配列リストを使用するコレクションクラスを使用しています。

しかし、以下のステートメントの問題点は次のとおりです。 InvoiceList.Add(objInvoice);

objInvoice アイテムが繰り返し追加されるたびに、invoiceList のすべての内部リスト アイテムが最後に読み取られた objInvoice に置き換えられます。

[0] - 最後に読み取った objInvoice 値に置き換え [1] - 最後に読み取った objInvoice 値に置き換え

考えられる理由は何ですか?

間に objInvoice の初期化がないか確認しました。しかし、何もありませんでした。私はこの状況に完全に混乱しています。

前もって感謝します

助けていただければ幸いです

4

1 に答える 1

4

1 つの objInvoice 項目を作成し、それを同じリストに繰り返し追加する可能性が非常に高くなります。この場合、参照は毎回同じであるため、それぞれが同じ objInvoice を参照する項目のリストがあります。

繰り返しごとに、新しい objInvoice itemを作成して入力する必要があります。次に、各アイテムがリストに異なって表示されます。

于 2013-11-11T08:00:11.457 に答える