Почему ключевое слово is требует ненулевого выражения? - PullRequest
1 голос
/ 13 июня 2009

В документации MSDN для ключевого слова is указано:

expression is not null

Почему? Если MethodThatReturnsNull () имеет тип , был вызван, разве это не должно возвращать false, поскольку null определенно не тот тип?

Ответы [ 4 ]

5 голосов
/ 13 июня 2009

Возвращается false, если expression равно null. Возможно, вы неправильно понимаете документацию?

0 голосов
/ 13 июня 2009

Это был довольно популярный ответ, который я дал на похожий вопрос.

C # получить тип нулевого объекта

Это все равно что спросить, что за торт был бы в пустой коробке с без метки.

0 голосов
/ 13 июня 2009

Вы не можете статически разрешить ноль.

0 голосов
/ 13 июня 2009

Единственное, что вы можете сказать наверняка о нуле, это то, что вы не знаете, что это такое. Сравнение чего-либо с нулем обычно приводит к нулю ...

Q: 1 == "Я не знаю"? A: «Я не знаю»

Зацените эту запись в блоге Эрика Липперта.

...