Считаются ли отрицательные числа нулевыми в vb.net?

Это может быть глупый вопрос, но я пытался найти ответ и ничего не нашел.

Рассматриваются ли отрицательные числа как «ничего» (ноль) в vb.net?

Режим отладки:

Проверьте это изображение в режиме отладки

Выше приведен запрос к базе данных, чтобы найти все значения, где район является «значением». Это список в виде бритвы, и поскольку я не хотел, чтобы что-либо отображалось по умолчанию, я установил идентификатор района равным -1, и, поскольку в базе данных нет ничего с таким значением, он должен что-то вернуть.

Тем не менее, он по-прежнему возвращает мне значение, в котором район равен NULL. Как так?


person Polynomial Proton    schedule 09.10.2014    source источник


Ответы (1)


Отрицательные значения не равны нулю. Однако вы используете Or вместо OrElse (http://msdn.microsoft.com/en-us/library/ea1sssb2.aspx)

Или вызывает вызов обеих сторон оператора, и это не вызывает короткого замыкания. Кроме того, вы должны вызвать проверку нуля перед проверкой значения. Если вы не замкнетесь с проверкой null, вы в конечном итоге вызовете сравнение нулевого значения (m.DistrictId) с ненулевым значением (districtId).

person Origin    schedule 09.10.2014