Мне было интересно, есть ли синтаксис для форматирования значений NULL в string.Format, например, что использует Excel
Например, с помощью Excel Я мог бы указать значение формата {0: #, 000.00; - #, 000.00, NULL}
, что означает отображение числового значения как числового формата, если оно положительное, числового формата в скобках, если отрицательное, или NULL, если значение равно null
string.Format("${0:#,000.00;(#,000.00);NULL}", someNumericValue);
Изменить
Я ищу форматирование NULL
/ Ничего
значений для всех типов данных, а не только числовых.
Мой пример на самом деле неверен, потому что я ошибочно думал, что Excel использовал третий параметр, если значение было NULL, но на самом деле он используется, когда значение равно 0. Я оставляю его там, потому что это самое близкое, что я могу придумать, к что я надеялся сделать.
Я надеюсь избежать оператора объединения с нулевым значением, потому что я пишу записи журнала, а данные обычно не являются строкой
Было бы намного проще написать что-то вроде
Log(string.Format("Value1 changes from {0:NULL} to {1:NULL}",
new object[] { oldObject.SomeValue, newObject.SomeValue }));
, чем написать
var old = (oldObject.SomeValue == null ? "null" : oldObject.SomeValue.ToString());
var new = (newObject.SomeValue == null ? "null" : newObject.SomeValue.ToString());
Log(string.Format("Value1 changes from {0} to {1}",
new object[] { old, new }));