Ответ 1
Ну да. Значение по умолчанию для нулевого или другого ссылочного типа равно null
, тогда как значение по умолчанию для long
или другого типа значения 0
(и любые другие члены устанавливают свои значения по умолчанию).
В этом случае:
default(Nullable<long>) == null
default(long?) == null
default(long) == 0L