C # изменчив и Nullable - PullRequest
       4

C # изменчив и Nullable

10 голосов
/ 19 ноября 2011

Согласно документам: http://msdn.microsoft.com/en-us/library/x13ttww7.aspx:

К типам ссылок можно применить ключевое слово volatile.

Так почему использование Nullable<T> .. недопустимо для ссылочного типа!

Обратите внимание, что на самом деле мне не нужна изменчивая семантика для поля Nullable<T>, я случайно столкнулся с этой ошибкой и просто любопытен.

Ответы [ 2 ]

14 голосов
/ 19 ноября 2011

Nullable<T> не является ссылочным типом. Это тип значения:

public struct Nullable<T>
where T : struct, new()

Обратите внимание на struct часть.

То, что оно имеет значение null, не делает его ссылочным типом ... это тип NULL value . См. Раздел 4.1.10 спецификации языка C # 4 для получения более подробной информации.

4 голосов
/ 19 ноября 2011

Nullable - это тип значения, а не ссылочный тип.

См. Определение http://msdn.microsoft.com/en-us/library/b3h38hb0.aspx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...