Целочисленная проверка - PullRequest
0 голосов
/ 24 марта 2009

глупый вопрос, но это утверждение ничего не стоит

int a;

if (a != null)

, поскольку целочисленная переменная автоматически устанавливается равной нулю компилятором при определении

для проверки целых чисел всегда проверять, правильно ли> = 0?

Ответы [ 5 ]

2 голосов
/ 24 марта 2009

Компилятор устанавливает значение переменной-примитива равным ее значению по умолчанию, если вы его не назначаете. Значение по умолчанию для int равно 0. Так что да, сравнение, которое вы упоминаете, на самом деле ничего не делает.

Если вам нужен обнуляемый тип int в вашем коде, вы должны использовать тип "nullable" int? ".

Если ваш int обнуляем, то упомянутое вами сравнение может быть полезным.

0 голосов
/ 24 марта 2009

int является типом значения и никогда не будет null, если вы не объявите его как обнуляемое целое число:

int? i = null;
if (i == null)
    Console.WriteLine("it's null");
0 голосов
/ 24 марта 2009

Предполагая, что по вашему тегу и синтаксису это C #, пробовали ли вы int.TryParse (...) в вашем конкретном сценарии? Не совсем уверен, что вы пытаетесь сделать из предоставленного кода - как сказал Энди, если ваш int обнуляем, проверка нуля может быть полезной.

0 голосов
/ 24 марта 2009

Да, если целое число не может быть обнуляемым типом.

int? myInt = null;

if(myInt == null)
{
    Console.WriteLine("myInt was null.");
}
0 голосов
/ 24 марта 2009

int - это класс, не равный нулю

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