по умолчанию (Nullable (тип)) против по умолчанию (тип) - PullRequest
31 голосов
/ 12 октября 2011

В C # есть ли разница между default(Nullable<long>) (или default(long?)) и default(long)?

Long это просто пример, это может быть любой другой тип struct.

1 Ответ

46 голосов
/ 12 октября 2011

Ну да. Значением по умолчанию для обнуляемого или другого ссылочного типа является null, в то время как значение по умолчанию для long или другого типа значения - 0 (и для любых других элементов установлены значения по умолчанию).

В этом случае:

default(Nullable<long>) == null
default(long?) == null

default(long) == 0L
...