默认(int?)与(int?)null之间的区别
本文关键字:int 区别 之间 null 默认 | 更新日期: 2023-09-27 18:16:17
使用default(int?)
或(int?)null
分配变量有什么区别吗?
是一样的吗?
或者存在一些优缺点来使用每种方式?
它们和new int?()
是完全一样的。
int? x = null;
例如。
我最经常需要这些表达式之一的时候是条件运算符,例如
int y = ...;
int? z = condition ? default(int?) : y;
在这种情况下不能使用null
,因为编译器不能推断表达式的类型。(请注意,这可能是对语言的一个有用的补充……)
两者基本相同。Default给出默认值。对于引用类型和可空类型,它给出null;对于值类型,它给出0。如果你声明integer为空,你也可以把它赋值给(int?)null
。你也可以检查IL代码来验证。