为什么我无法基于变量设置数组的大小?最好的办法是什么?

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

但是无法在常量和变量之间进行强制转换。它们具有截然不同的含义。

10-06 05:20