Могу ли я отформатировать значения NULL в string.Format?

Мне было интересно, есть ли синтаксис для форматирования значений 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 }));
40
задан Rachel 7 October 2011 в 15:14
поделиться