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

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

每次迭代添加objInvoice项目时,invoiceList中的所有内部列表项都将由上一次读取的objInvoice替换。

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

可能是什么原因?

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

提前致谢

希望有帮助

最佳答案

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

您需要确保对于每次迭代,都创建并填充一个新的objInvoice项目。然后,您会看到每个项目在列表中出现的方式都不同。

10-07 20:29