web-dev-qa-db-ja.com

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

C#では、default(Nullable<long>)(またはdefault(long?))とdefault(long)の間に違いはありますか?

Longは単なる例であり、他のstructタイプにすることができます。

31
Eugene

はい、そうです。 null許容型またはその他の参照型のデフォルト値はnullですが、longまたはその他の値型のデフォルト値は0(およびその他のメンバーはデフォルトに設定されています)。

この場合:

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

default(long) == 0L
46
Jeff Mercado