Dlaczego Integer.TryParse ustawia wynik na zero w przypadku awarii?

Moje zrozumienie funkcji Integer.TryParse () polegało na tym, że próbowano przeanalizować liczbę całkowitą z przekazanego ciągu i jeśli analiza nie powiodła się, wynikowa liczba całkowita pozostanie taka, jak przedtem.

Mam liczbę całkowitą o wartości domyślnej -1, którą chciałbym pozostawić na -1, jeśli analiza zakończy się niepowodzeniem. Jednak funkcja Integer.TryParse () po nieudanej analizie zmienia tę wartość domyślną na zero.

Dim defaultValue As Integer = -1
Dim parseSuccess As Boolean = Integer.TryParse("", defaultValue)
Debug.Print("defaultValue {0}", defaultValue)
Debug.Print("parseSuccess {0}", parseSuccess)

Oczekuję, że powyższy fragment kodu powinien wypisać:

defaultValue -1
parseSuccess False

Zamiast tego wyświetla:

defaultValue 0
parseSuccess False

Czy moje zrozumienie jest prawidłowe?

questionAnswers(2)

yourAnswerToTheQuestion