gpt4 book ai didi

vb.net - 从 VB.NET 对象数组列表中检索数据

转载 作者:行者123 更新时间:2023-12-04 12:15:21 24 4
gpt4 key购买 nike

我正在尝试从对象的 ArrayList (.NET 1.1 Framework) 中检索正确的值:

我有以下定义:

Public AlList As New ArrayList

Public Class ItemInfo
Public ItemNo As Int16
Public ItemType As String
Public Reports As Array
Public PDFs As Array
End Class

form_load 事件代码包含:
Dim AnItemObj As New ItemInfo

然后是一个循环,包括:
AnItemObj.ItemNo = AFile.RecordId
AnItemObj.ItemType = temp
AlList.Add(AnItemObj)

所以我现在应该有这些对象的 ArrayList,但是如果我尝试检索数据:
MsgBox(AlList(5).ItemNo)

我总是得到列表中最后一个值的 ItemNo。

我错过了什么?

最佳答案

放入以下代码:

Dim AnItemObj As New ItemInfo

将 AnItemObj 添加到列表的循环。

将引用类型添加到列表时,只会添加引用,而不是值。

这意味着如果您将 10 次相同的实例添加到列表中,它将向列表添加 10 次相同的引用。但是,如果之后您仍然拥有对该实例的引用,您可以修改其属性,并且由于列表中的所有 10 个条目都指向内存中的同一个引用,因此所有 10 个条目都将被修改。

关于vb.net - 从 VB.NET 对象数组列表中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1062320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com