.net 为什么';难道不把它加到名单上吗

.net 为什么';难道不把它加到名单上吗,.net,vb.net,generic-list,.net,Vb.net,Generic List,这个问题就是基于这个 我还没有找到答案,但我正在尝试一个解决方案,结果是出现了另一个问题 Public Class markerRow Public MarkerName As String Public CameraID As Integer Public HostAddress As String End Class Public mr As New markerRow Dim aList As New List(Of markerRow) For Each dtrow In

这个问题就是基于这个

我还没有找到答案,但我正在尝试一个解决方案,结果是出现了另一个问题

Public Class markerRow
  Public MarkerName As String
  Public CameraID As Integer
  Public HostAddress As String
End Class

Public mr As New markerRow
Dim aList As New List(Of markerRow)

For Each dtrow In markerDtable.Rows
        mr.MarkerName = dtrow("MarkerName")
        mr.CameraID = dtrow("CameraID")
        mr.HostAddress = dtrow("HostAddress")
        aList.Add(New markerRow())
Next
根据我的想法,这段代码应该将DB中的每个数据添加到列表中相应的变量中。。但我还是不知道它到底是干什么的

我检查了
aList.Count.ToString
,它给了我5个项目,这是真的,因为我的数据库中有5行

For Each elem In aList
        listbox.Items.Add(mr.MarkerName)
        listbox.Items.Add(mr.CameraID)
    Next
为了检查
列表中的项目,我这样做了。。不幸的是。。它只给了我最后一项,5次。MarkerName列和Camera ID列上的最后一项

我错过了什么?或者我的代码有什么问题?
aList
应该包含上面数据库中的内容。不仅是最后一项

Public mr As New markerRow
Dim aList As New List(Of markerRow)

For Each dtrow In markerDtable.Rows
        mr.MarkerName = dtrow("MarkerName")
        mr.CameraID = dtrow("CameraID")
        mr.HostAddress = dtrow("HostAddress")
        aList.Add(New markerRow())
Next
在这里,您正在创建一个名为
mr
markerRow
,并为
数据表中的每一行更新它。另外,对于每一行,您都创建另一个
markerRow
,并将该新行添加到
aList

For Each elem In aList
    listbox.Items.Add(mr.MarkerName)
    listbox.Items.Add(mr.CameraID)
Next
然后,对于
aList
中的每个元素,您将两个项目添加到
列表框
,每次都是
MarkerName
CameraID
来自
mr
,而不是
aList
元素的数据

For Each elem In aList
    listbox.Items.Add(mr.MarkerName)
    listbox.Items.Add(mr.CameraID)
Next

您可能正在寻找以下内容:

Dim aList As New List(Of markerRow)

For Each dtrow In markerDtable.Rows 
    Dim mr = New markerRow() ' create a new markerRow for every row '
    mr.MarkerName = dtrow("MarkerName")
    mr.CameraID = dtrow("CameraID")
    mr.HostAddress = dtrow("HostAddress")
    aList.Add(mr)            ' add the new markerRow to the list '
Next

For Each elem In aList
    listbox.Items.Add(elem.MarkerName)
Next
在这里,您正在创建一个名为
mr
markerRow
,并为
数据表中的每一行更新它。另外,对于每一行,您都创建另一个
markerRow
,并将该新行添加到
aList

For Each elem In aList
    listbox.Items.Add(mr.MarkerName)
    listbox.Items.Add(mr.CameraID)
Next
然后,对于
aList
中的每个元素,您将两个项目添加到
列表框
,每次都是
MarkerName
CameraID
来自
mr
,而不是
aList
元素的数据

For Each elem In aList
    listbox.Items.Add(mr.MarkerName)
    listbox.Items.Add(mr.CameraID)
Next

您可能正在寻找以下内容:

Dim aList As New List(Of markerRow)

For Each dtrow In markerDtable.Rows 
    Dim mr = New markerRow() ' create a new markerRow for every row '
    mr.MarkerName = dtrow("MarkerName")
    mr.CameraID = dtrow("CameraID")
    mr.HostAddress = dtrow("HostAddress")
    aList.Add(mr)            ' add the new markerRow to the list '
Next

For Each elem In aList
    listbox.Items.Add(elem.MarkerName)
Next

伟大的谢谢由于上一个链接上的问题,我现在真的在工作伟大的谢谢由于上一个链接上的问题,我现在真的在工作