ฉันเห็นสิ่งปลูกสร้างทุกแห่งเช่น:
int? myVar = null;
string test = myVar.HasValue ? myVar.Value.ToString() : string.Empty;
ทำไมไม่ใช้เพียง:
string test = myVar.ToString();
มันไม่เหมือนกันเหรอ? อย่างน้อย Reflector บอกว่า:
public override string ToString()
{
if (!this.HasValue)
{
return "";
}
return this.value.ToString();
}
ดังนั้นนั่นถูกต้อง (เวอร์ชั่นที่สั้นกว่า) หรือฉันขาดอะไรไป?