Почему использование оператора с нулевым условием в контексте, допускающем значение null, нарушает работу статического аC#

Место общения программистов C#
Ответить
Anonymous
 Почему использование оператора с нулевым условием в контексте, допускающем значение null, нарушает работу статического а

Сообщение Anonymous »


Почему после использования нулевого условного оператора в контексте, допускающем значение NULL (#nullable Enable ) статический анализатор показывает предупреждение CS8602?

var test = новый список(); Console.WriteLine(test.Count); // Хорошо Console.WriteLine(тест?.Count); Console.WriteLine(test.Count); // CS8602 - Разыменование возможно нулевой ссылки Вот скрипка.

Ответ просто «недостаточно умен»? Я не знаю, как мог test стать нулевым после ?., не так ли?

Еще одна мысль: на самом деле отсутствует предупреждение:

Удалите ненужную проверку на наличие нуля, здесь тест НЕ может быть нулевым! Разве ты не видишь? Читайте подсказки! По каждой переменной!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»