0

愚蠢的问题,但这种说法毫无价值

int a;

if (a != null)

因为整数 var 在定义时会被编译器自动设置为 null

检查整数总是检查 a >= 0 是否正确?

4

5 回答 5

2

如果您不分配原始变量,编译器会将其值设置为其“默认”值。int 的默认值为 0。所以是的,你提到的比较并没有真正做任何事情。

如果您的代码中需要一个可为空的 int,您应该使用“可为空”类型“int?”。

如果您的 int 可以为空,那么您提到的比较可能很有用。

于 2009-03-24T02:13:45.770 回答
0

int 是一个类,不等于 null

于 2009-03-24T02:10:48.507 回答
0

是的,除非整数恰好是可为空的类型。

int? myInt = null;

if(myInt == null)
{
    Console.WriteLine("myInt was null.");
}
于 2009-03-24T02:15:36.170 回答
0

假设您的标签和语法是 C#,您是否在特定场景中尝试过 int.TryParse(...) ?不确定您要从提供的代码中尝试做什么 - 正如安迪所提到的,如果您的 int 可以为空,则空检查可能很有用。

于 2009-03-24T02:15:57.123 回答
0

Anint是一种值类型,并且永远不会是null,除非您将其声明为可为空的整数:

int? i = null;
if (i == null)
    Console.WriteLine("it's null");
于 2009-03-24T02:16:33.360 回答