Je me demandais si il y a une syntaxe pour la mise en forme des valeurs NULL dans la chaîne.Format, comme ce qu'Excel utilise
Par exemple, à l'aide d'Excel je pourrais spécifier un format de valeur de {0:#,000.00;-#,000.00,NULL}
, ce qui signifie que l'affichage de la valeur numérique en tant que format de nombre si le résultat est positif, le format des nombres entre parenthèses si le résultat est négatif, ou NULL si la valeur est null
string.Format("${0:#,000.00;(#,000.00);NULL}", someNumericValue);
Modifier
Je suis à la recherche pour le formatage NULL
/Nothing
des valeurs pour tous les types de données, et pas seulement numériques.
Mon exemple est en fait incorrect parce que j'ai tort, Excel utilisé le 3e paramètre si la valeur est NULLE, mais c'est en fait utilisé lorsque la valeur est 0. Je vais la laisser là parce que c'est la chose la plus proche que je peux penser à ce que j'espérais faire.
Je suis l'espoir d'éviter le nul de la coalescence de l'opérateur parce que je suis en train d'écrire des enregistrements de journal, et les données n'est généralement pas une chaîne
Il serait beaucoup plus facile d'écrire quelque chose comme
Log(string.Format("Value1 changes from {0:NULL} to {1:NULL}",
new object[] { oldObject.SomeValue, newObject.SomeValue }));
que de l'écrire
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 }));