我有一个按钮事件,可以将文本框的内容保存到数组中,每次按下该按钮,它都会保存到下一个位置。但是当我在另一个函数中调用数组时,我只得到0作为数组中的值。这是我的按钮代码
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ReDim ArX(i)
ArX(i) = Val(txtX.Text)
txtXl.Text = txtXl.Text & ArX(i) & "~"
i = i + 1
txtX.Text = ""
End Sub
答案 0 :(得分:1)
评论是正确的。在处理动态增长的这些集合时,您应该使用List(Of T)。它会比您当前的实现更有效,因为每次按下按钮时它都不会重新分配。至于为什么你的实现有问题,你使用Redim几乎创建了一个新的Array实例。如果使用Redim,则需要使用Preserve关键字来复制现有项目。同样,这是非常低效的。 List(Of T)是一个更简单的API,效率更高。