愚蠢的问题,但这种说法毫无价值
int a;
if (a != null)
因为整数 var 在定义时会被编译器自动设置为 null
检查整数总是检查 a >= 0 是否正确?
如果您不分配原始变量,编译器会将其值设置为其“默认”值。int 的默认值为 0。所以是的,你提到的比较并没有真正做任何事情。
如果您的代码中需要一个可为空的 int,您应该使用“可为空”类型“int?”。
如果您的 int 可以为空,那么您提到的比较可能很有用。
int 是一个类,不等于 null
是的,除非整数恰好是可为空的类型。
int? myInt = null;
if(myInt == null)
{
Console.WriteLine("myInt was null.");
}
假设您的标签和语法是 C#,您是否在特定场景中尝试过 int.TryParse(...) ?不确定您要从提供的代码中尝试做什么 - 正如安迪所提到的,如果您的 int 可以为空,则空检查可能很有用。
Anint
是一种值类型,并且永远不会是null
,除非您将其声明为可为空的整数:
int? i = null;
if (i == null)
Console.WriteLine("it's null");