I see everywhere constructions like:
int? myVar = null;
string test = myVar.HasValue ? myVar.Value.ToString() : string.Empty;
Why not use
You are quite correct. Also in this question, the former solution is suggested while nobody actually notices ToString()
already gives the correct answer.
Maybe the argument for the more verbose solution is readability: When you call ToString()
on something that is supposed to be null
, you usually expect a NullReferenceException
, although here it isn't thrown.