Arrays 我可以使用变量重新定义数组吗?
我不完全清楚为什么我会收到 应为动态数组变量 使用此代码:Arrays 我可以使用变量重新定义数组吗?,arrays,vb6,Arrays,Vb6,我不完全清楚为什么我会收到 应为动态数组变量 使用此代码: Option Explicit Sub ArrayTest() Dim i As Integer, BankList(0) As Variant, x As Integer For i = 0 To UBound(ScreenArray) If ScreenArray(i) Like "TR=SUB*" Then Debug.Print ScreenArray(i)
Option Explicit
Sub ArrayTest()
Dim i As Integer, BankList(0) As Variant, x As Integer
For i = 0 To UBound(ScreenArray)
If ScreenArray(i) Like "TR=SUB*" Then
Debug.Print ScreenArray(i)
ReDim Preserve BankList(x) '<<< ERROR LINE
BankList(x) = ScreenArray(i)
x = x + 1 'Raise the value for the next occurrence, if needed.
End If
Next
End Sub
选项显式
子阵列测试()
Dim i为整数,银行列表(0)为变量,x为整数
对于i=0到UBound(屏幕阵列)
如果屏幕阵列(i)像“TR=SUB*”,那么
调试.打印屏幕阵列(i)
ReDim Preserve BankList(x)“若要创建动态数组,请不要在原始声明中指定大小
因此,使用BankList()作为变量
而不是BankList(0)作为变量
来创建动态数组,不要在原始声明中指定大小
因此,使用BankList()作为变量
而不是BankList(0)作为变量
不要这样做。你应该使用List(Of T)
@YowE3K哇,真不敢相信事情会这么简单。谢谢我不该这么快就删除我的评论!!(我开始怀疑我是否正确,所以在我检查的时候把它扔掉了。看来我毕竟是对的。)不要这样做。你应该使用List(Of T)
@YowE3K哇,真不敢相信事情会这么简单。谢谢我不该这么快就删除我的评论!!(我开始怀疑自己是否正确,所以在检查时就把它扔掉了。看来我毕竟是对的。)