Skip to main content
 首页 » 编程设计

c#之最后读取的对象正在替换集合 ArrayList 中的所有项目

2024年02月13日28开发

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

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

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

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

可能是什么原因?

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

提前致谢

非常感谢任何帮助

请您参考如下方法:

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

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