Использование массива с ручным управлением размером по сравнению с другой структурой данных, которая самостоятельно управляет его размером - PullRequest
0 голосов
/ 24 мая 2018

VBA позволяет определять динамически изменяемые размеры массивов:

Dim s() As String
For i = 0 To ... 'some end condition
    Redim Preserve s(i)
    s(i) = 'fill with some value
Next

Это довольно подвержено ошибкам.Существуют другие коллекции с самоизменяющимся размером, например VBA Collection:

Dim col As New Collection
For i = 0 To ... 'some end condition
    s.Add 'fill with some value
Next

или Scripting.Dictionary (со ссылкой на Microsoft Scripting Runtime ):

Dim dict As New Scripting.Dictionary
For i = 0 To ... 'some end condition
    s.Add i, 'fill with some value
Next

или ArrayList (со ссылкой на mscorlib ):

Dim al As New ArrayList
For i = 0 To ... 'some end condition
    al.Add 'fill with some value
Next

Какие практические преимущества 1 существуют при ручном управлении размероммассива?

1.Предположительно, это будет иметь значение во встроенном программировании или в каком-то игровом движке, который нуждается в высокой производительности;но если вы используете VBA для этой цели, то вы заслуживаете того, что получаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...