我看到到处都是如下结构:
int? myVar = null;
string test = myVar.HasValue ? myVar.Value.ToString() : string.Empty;
Run Code Online (Sandbox Code Playgroud)
为什么不简单地使用:
string test = myVar.ToString();
Run Code Online (Sandbox Code Playgroud)
那不完全一样吗?至少Reflector说:
public override string ToString()
{
if (!this.HasValue)
{
return "";
}
return this.value.ToString();
}
Run Code Online (Sandbox Code Playgroud)
那么,这是正确的(较短的版本)还是我错过了什么?