Ссылочные типы и типы с нулевым значением ToString()

Не мог бы кто-нибудь объяснить, почему вызов ToString()для пустого ссылочного типа вызывает исключение (, что, на мой взгляд, имеет смысл, вы не можете вызывать метод ни для чего! ), но вызов ToString()для пустого Nullable(Of T)возвращает String.Empty? Это было для меня довольно неожиданно, поскольку я предполагал, что поведение будет одинаковым для разных типов.

Nullable<Guid> value = null;
Stock stock = null;
string result = value.ToString(); //Returns empty string
string result1 = stock.ToString(); //Causes a NullReferenceException
21
задан Maxim Gershkovich 3 August 2012 в 07:53
поделиться