Joe*_*Joe 3 vb.net arrays arraylist object
我在向arraylist添加对象时遇到了一些麻烦.
基本上该对象有两个属性(文件ID /名称),但我无法弄清楚如何分配这些属性.在运行时,它会在找不到对象的公共成员上出错.
Private QueueList As New ArrayList
Public Sub Queue(ByVal FileName As String, ByVal FileID As Integer)
Dim QueueObj As New Object
QueueObj.FileID = "Test 1"
QueueObj.FileName = "Test 2"
QueueList.Add(QueueObj)
End Sub
Run Code Online (Sandbox Code Playgroud)
我也想知道如何在arraylist上循环并访问每个记录上的两个属性.
谢谢!
你不能只为此使用"对象".你需要建立自己的类:
Public Class File
Public Property FileID As Integer
Public Property FileName As String
Public Sub New ()
End Sub
Public Sub New(ByVal FileName As String, ByVal FileID As Integer)
Me.FileID = FileID
Me.FileName = FileName
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
然后像这样构建你的队列:
Private QueueList As New ArrayList()
Public Sub Queue(ByVal FileName As String, ByVal FileID As Integer)
QueueList.Add(New File(FileName, FileID))
End Sub
Public Sub Queue(ByVal FileObj As File)
QueueList.Add(FileObj)
End Sub
Run Code Online (Sandbox Code Playgroud)
或者,更好的是,使用泛型:
Public QueueList As New List(Of File)()
Public Sub Queue(ByVal FileName As String, ByVal FileID As Integer)
QueueList.Add(New File(FileName, FileID))
End Sub
Public Sub Queue(ByVal FileObj As File)
QueueList.Add(FileObj)
End Sub
Run Code Online (Sandbox Code Playgroud)
然后,循环遍历列表:
For Each item As File In QueueList
'Console.WriteLine(item.FileID & vbTab & item.FileName)
Next item
Run Code Online (Sandbox Code Playgroud)