1

我正在使用一个集合类,我将在其中使用数组列表迭代地添加对象详细信息。

但以下语句的问题是:InvoiceList.Add(objInvoice);

每次迭代添加一个 objInvoice 项时,invoiceList 中的所有内部列表项都将被最后一次读取的 objInvoice 替换。

[0]-替换为上次读取的 objInvoice 值 [1]-替换为上次读取的 objInvoice 值

可能的原因是什么?

我检查了两者之间的任何 objInvoice 初始化。但是没有。我对这种情况完全感到困惑。

提前致谢

将不胜感激任何帮助

4

1 回答 1

4

您很可能正在创建一个 objInvoice 项目,并将其重复添加到同一个列表中。在这种情况下,每次引用都是相同的,因此您有一个项目列表,每个项目都引用同一个 objInvoice。

您需要确保每次迭代都创建并填充一个新的 objInvoice 项。然后您将看到每个项目在列表中的显示方式不同。

于 2013-11-11T08:00:11.457 回答