在VB.net上的Button函数中返回一个数组

时间:2015-05-03 21:29:10

标签: arrays vb.net

我有一个按钮事件,可以将文本框的内容保存到数组中,每次按下该按钮,它都会保存到下一个位置。但是当我在另一个函数中调用数组时,我只得到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

1 个答案:

答案 0 :(得分:1)

评论是正确的。在处理动态增长的这些集合时,您应该使用List(Of T)。它会比您当前的实现更有效,因为每次按下按钮时它都不会重新分配。至于为什么你的实现有问题,你使用Redim几乎创建了一个新的Array实例。如果使用Redim,则需要使用Preserve关键字来复制现有项目。同样,这是非常低效的。 List(Of T)是一个更简单的API,效率更高。