Vb.net 添加(var)覆盖列表中以前的项
每次按下按钮时,您应该会将一位客户添加到您的列表中。但它只是覆盖我以前的值,不更新列表 这正是他们在我的书中所做的,但我不知道为什么下一个变量没有添加到列表中Vb.net 添加(var)覆盖列表中以前的项,vb.net,Vb.net,每次按下按钮时,您应该会将一位客户添加到您的列表中。但它只是覆盖我以前的值,不更新列表 这正是他们在我的书中所做的,但我不知道为什么下一个变量没有添加到列表中 Private Sub btnOpslaan_Click(sender As Object, e As EventArgs) Handles btnOpslaan.Click Dim klantenlijst As New List(Of Klant) Dim nieuwe_klant As New Klant D
Private Sub btnOpslaan_Click(sender As Object, e As EventArgs) Handles btnOpslaan.Click
Dim klantenlijst As New List(Of Klant)
Dim nieuwe_klant As New Klant
Dim path As String = IO.Path.GetTempFileName()
nieuwe_klant.Naam = txtNaam.Text
nieuwe_klant.Straat = txtStraat.Text
nieuwe_klant.Postcode = txtPostcode.Text
nieuwe_klant.Gemeente = txtGemeente.Text
nieuwe_klant.Telefoon = txtTelefoon.Text
nieuwe_klant.Email = txtEmail.Text
If chkHardware.Checked = True Then
nieuwe_klant.Hardware = True
End If
If chkInternet.Checked = True Then
nieuwe_klant.Internet = True
End If
If chkMultimedia.Checked = True Then
nieuwe_klant.Multimedia = True
End If
If chkSoftware.Checked = True Then
nieuwe_klant.Software = True
End If
klantenlijst.Add(nieuwe_klant)
MsgBox(klantenlijst.Count)
End Sub
我的班级“Klant”
End Class这里的问题是,每次单击,您都会声明一个新的“Klantenelijst”,并将其私有化。只需在单击之外声明它,您将获得所需的结果:
Dim klantenlijst As New List(Of Klant)
Private Sub btnOpslaan_Click(sender As Object, e As EventArgs) Handles btnOpslaan.Click
Dim nieuwe_klant As New Klant
Dim path As String = IO.Path.GetTempFileName()
nieuwe_klant.Naam = txtNaam.Text
//continue your code...
klantenlijst.Add(nieuwe_klant)
MsgBox(klantenlijst.Count)
每次单击按钮时,都会创建一个新列表: 然后在列表中只添加一项:
klantenlijst.Add(nieuwe_klant)
因此,该列表将只包含一项
相反,创建一个类级列表并添加到该列表中。因此,将这一行放在班级层面:
Dim klantenlijst As New List(Of Klant)
然后,在类的整个实例中都可以使用相同的列表。需要注意的几点:
这么愚蠢的错误,而我的老师和我正在寻找一个小时。谢谢你,伙计!
klantenlijst.Add(nieuwe_klant)
Dim klantenlijst As New List(Of Klant)