Почему можно сравнивать целое число и строку без преобразования? - PullRequest
0 голосов
/ 25 мая 2018

Я сравниваю целое число и строку в vb.Пожалуйста, проверьте следующий код:

Dim strPrice as String = "9"
If CInt(Int(txtPrice.Text)) < strPrice Then 
    Return False 
End If 

Можно ли сравнить без преобразования их обоих в целое число?Когда я запускаю этот код, он не вызывает никаких ошибок.Я просто хочу знать, почему это возможно?

1 Ответ

0 голосов
/ 25 мая 2018

Нет, это невозможно.

Вы можете отключить Option Strict, и код скомпилируется, выполнится и, возможно, даже даст правильный результат ... но он все же преобразовал строку в целое число, чтобы сделать сравнение.Вам просто не нужно было писать операцию CInt() самостоятельно.

Более того, это не очень хорошая практика. Возможно, в этот раз вы все исправите, но в конечном итоге это приведет к ошибкам типа, которые будут появляться во время выполнения, что вы быизбежали иного.

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