Мое понимание функции Integer.TryParse() заключалось в том, что она пыталась проанализировать целое число из переданной строки, и если синтаксический анализ не удался, целое число результата останется таким же, как и раньше.
У меня есть целое число со значением по умолчанию -1, которое я хотел бы оставить равным -1 в случае сбоя синтаксического анализа. Однако функция Integer.TryParse() при неудачном анализе изменяет это значение по умолчанию на ноль.
Dim defaultValue As Integer = -1
Dim parseSuccess As Boolean = Integer.TryParse("", defaultValue)
Debug.Print("defaultValue {0}", defaultValue)
Debug.Print("parseSuccess {0}", parseSuccess)
Я ожидаю, что приведенный выше фрагмент кода должен вывести:
defaultValue -1
parseSuccess False
Однако вместо этого он выводит:
defaultValue 0
parseSuccess False
Правильно ли я понимаю?