Следующий код выдает предупреждение. Предупреждение. CS8600 Преобразование нулевого литерала или возможного нулевого значения в тип, не допускающий значения NULL.
Код: Выделить всё
int? a = 1;
string lineCount = a != null ? a.ToString() : string.Empty;
Похоже, это потому, что ToString() возвращает строку?. Однако даже преобразование этого значения в строку не устраняет предупреждение.
Код: Выделить всё
string lineCount = a != null ? (string)a.ToString() : string.Empty;
Однако, если целое число не допускает значения NULL, это предупреждение не выдается.
Как избавиться от этого предупреждения?
Подробнее здесь:
https://stackoverflow.com/questions/783 ... ernary-net