Подтвердить что ты не робот

Default (Nullable (type)) vs default (type)

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

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

4b9b3361

Ответ 1

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

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

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

default(long) == 0L