Когда вы пишете date.Year + ""
, он будет скомпилирован как вызов string.Concat(object, object)
:
String.Concat(date.Year, "")
Внутри метод Concat
будет вызывать ToString
на каждом(ненулевой) объект.
Оба подхода выдают NullReferenceException
, если date
равно null
.Но вы сказали, что date
имеет тип DateTime
.DateTime
является структурой и поэтому не может быть нулевым.
Если date
имеет тип DateTime?
и вы хотите вернуть пустую строку, если дата равна нулю, вы можете использовать это:
date.HasValue ? date.Value.Year.ToString() : ""