Quando si scrive date.Year + ""
sarà compilato come una chiamata a string.Concat(object, object)
:
String.Concat(date.Year, "")
Internamente, il metodo Concat
chiamerà ToString
su ogni oggetto (non nullo).
Entrambi gli approcci generano un NullReferenceException
se date
è null
. Ma hai detto che date
è di tipo DateTime
. DateTime
è una struttura e quindi non può essere nullo.
Se date
è di tipo DateTime?
e vogliono restituire una stringa vuota se la data è nullo, allora è possibile utilizzare questo:
date.HasValue ? date.Value.Year.ToString() : ""
fonte
2011-12-07 09:22:49
'date.Year +" "' funziona anche se la data è nullo? Veramente? E come può un DateTime essere nullo in primo luogo? –
Cosa ha detto Mark, come è nulla? Non è possibile solo se è stato dichiarato nullable? – dbasnett