Mi chiedevo se c'è una sintassi per formattare valori NULL in string.Format, come quello che utilizza ExcelPosso formattare i valori NULL in string.Format?
Ad esempio, utilizzando Excel ho potuto specificare un valore formato {0:#,000.00;-#,000.00,NULL}
, che significa visualizzare il valore numerico come formato numerico se positiva, formato numero tra parentesi, se negativo, o NULL se il valore è nullo
string.Format("${0:#,000.00;(#,000.00);NULL}", someNumericValue);
Modifica
sto cercando la formattazione NULL
/Nothing
valori per tutti i tipi di dati, non solo quelli numerici.
Il mio esempio è in realtà corretto perché ho erroneamente pensato Excel utilizzato il 3 ° parametro se il valore è nullo, ma in realtà è usato quando il valore è 0. me ne vado in là, perché è la cosa più vicina che posso pensare a quello che speravo di fare.
sto sperando di evitare l'operatore null coalescenza perché sto scrivendo record di log, e il dato non è di solito una stringa
Sarebbe molto più facile scrivere qualcosa di simile
Log(string.Format("Value1 changes from {0:NULL} to {1:NULL}",
new object[] { oldObject.SomeValue, newObject.SomeValue }));
che a scrivo
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 }));
'null' (' Nothing' in Visual Basic) o '0' (zero)? – dtb
@dtb Sto cercando la formattazione 'null' /' Nothing' – Rachel
@JimMischel Spiacente, stavo pensando a valori NULL formattati in Excel con il terzo parametro. In realtà è zeri. Aggiornerò la mia domanda, ma lascio l'esempio di Excel lì perché è la cosa più vicina che riesco a pensare a ciò che sto cercando. – Rachel