文字列にNULL値をフォーマットするための構文があるかどうか疑問に思いました。Excelが使用するものなどのフォーマット。
たとえば、Excelを使用して、フォーマット値を指定できます{0:#,000.00;-#,000.00,NULL}
。これは、数値を正の場合は数値フォーマット、負の場合は括弧内の数値フォーマット、値がnullの場合はNULLとして表示することを意味します。
string.Format("${0:#,000.00;(#,000.00);NULL}", someNumericValue);
編集
数値だけでなく、すべてのデータ型の書式設定NULL
/値を探しています。Nothing
値がNULLの場合にExcelが3番目のパラメーターを使用したと誤って考えたため、私の例は実際には正しくありませんが、値が0の場合に実際に使用されます。これは、私が考えているものに最も近いものであるため、そのままにしておきます。したいと思っています。
ログレコードを書き込んでおり、データは通常文字列ではないため、null合体演算子を避けたいと思っています。
次のようなものを書く方がはるかに簡単です
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 }));