Вам нужно назначить результат тернарной операции
worksheet.Cells[ligne, 7].Value = resultat.CodeAlgo != null
? resultat.CodeAlgo.ToString()
: string.Empty;
или вы можете использовать оператор объединения с нулевым значением ??
,
worksheet.Cells[ligne, 7].Value = resultat.CodeAlgo?.ToString() ?? string.Empty;
Ternary Оператор ?:
Синтаксис тернарного оператора:
output = condition ? expression 1 : expression 2;
- Если условие равно
true
, то результат expression 1
присваивается переменной output
, иначе expression 2
будет назначен.
Оператор объединения с нулевым значением ??
( Из MSDN )
оператор ?? возвращает значение своего левого операнда, если оно не равно нулю; в противном случае он оценивает правый операнд и возвращает свой результат. ?? оператор не оценивает свой правый операнд, если значение левого операнда не равно нулю.
Нулевой условный оператор ?.
Если вы заметили во втором решении, Я использовал оператор ?.
, этот оператор называется условным оператором null . Этот оператор выполняется, только если resultat.CodeAlgo
не равно нулю. Он вернет null, если resultat.CodeAlgo
имеет значение null, это поможет нам избежать исключения нулевой ссылки.