Какое значение по умолчанию для неустановленного варианта в VB6? - PullRequest
2 голосов
/ 26 ноября 2010

Я работаю со старым кодом, и он определяет глобальную переменную, подобную этой ...

Public myvar

Этой переменной никогда не присваивается значение, но позже она используется в тесте ...

If myvar <> somevalue then
    'do something
End If

Для каких значений somevalue это что-то должно быть сделано?

Ответы [ 2 ]

6 голосов
/ 26 ноября 2010
  • Значением по умолчанию является Empty.
  • «Что-то будет сделано» для любого значения, кроме Empty, 0 или "" ...
    • ... для значения Ничего, код выдаст ошибкуи "что-то не будет сделано".

Из документации VB6

Когда переменные инициализируются, числовая переменная инициализируется в 0, переменная -Строка длины инициализируется строкой нулевой длины (""), а строка фиксированной длины заполняется нулями.Вариантные переменные инициализируются как пустые.Каждый элемент пользовательской переменной типа инициализируется, как если бы это была отдельная переменная.

4 голосов
/ 26 ноября 2010

С Получите максимум от вариантов в VB6 Я бы сделал предположение, что если myvar не "", то do something.Я не уверен и не могу проверить это прямо сейчас, но вы можете проверить это сами.

Когда Variant объявлен, но ему не присвоено значение, он содержит специальное значение Empty.Вы можете проверить это с помощью функции IsEmpty
...
Если в выражении используется пустой вариант, он будет оцениваться как значение 0 или пустая строка в зависимости от выражения.

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