为什么我无法基于变量设置数组的大小?最好的办法是什么?
Dim NumberOfZombies as integer
NumberOfZombies = 20000
Dim Zombies(NumberOfZombies) as New Zombie
最佳答案
如果在运行时不知道它将包含的值数,则可以使用动态数组:
Dim Zombies() As Integer
ReDim Zombies(NumberOfZombies)
或者,如果要创建过程本地的数组,则可以用一条语句完成所有操作:
ReDim Zombies(NumberOfZombies) As Integer
固定大小的数组需要包含在编译时已知的元素数。这就是为什么您不能使用变量来设置数组大小的原因-根据定义,变量的值是变量,并且仅在运行时才知道。
如果您知道变量的值不会改变,则可以使用常量:
Const NumberOfZombies = 2000
但是无法在常量和变量之间进行强制转换。它们具有截然不同的含义。