default(int?)vs(int?)null之间的区别

Rao*_*ron 5 c#

使用default(int?)(int?)null分配变量有什么区别吗?

是一回事吗?

或者存在一些利弊,以各种方式使用?

Jon*_*eet 13

他们是完全一样的new int?().

如果你只是分配一个变量,你通常根本不需要它.我只是用:

int? x = null;
Run Code Online (Sandbox Code Playgroud)

例如.

我经常需要这些表达式之一的时间是条件运算符,例如

int y = ...;
int? z = condition ? default(int?) : y;
Run Code Online (Sandbox Code Playgroud)

您无法null在该场景中使用,因为编译器无法推断表达式的类型.(可以说这对语言来说是一个有用的补充,请注意......)