在 C# 中,null
是一个特殊的值,表示变量没有引用任何对象。要判断一个可空值(nullable value type)是否有效,可以使用 ?.
操作符或 ??
操作符。
?.
操作符:这个操作符可以安全地访问可空类型的成员,如果值为 null
,则不会引发异常。例如:int? nullableInt = null;
int? result = nullableInt?.Value; // result 的值为 null
??
操作符:这个操作符可以提供一个默认值,当可空值为 null
时,返回默认值。例如:int? nullableInt = null;
int defaultValue = 0;
int result = nullableInt ?? defaultValue; // result 的值为 0
如果你想要判断一个可空值是否已经赋予了一个非 null
的值,可以使用 ??
操作符结合 is
关键字:
int? nullableInt = 42;
if (nullableInt != null && nullableInt is int value)
{
Console.WriteLine($"The nullable int has a valid value: {value}");
}
else
{
Console.WriteLine("The nullable int is not valid or has not been assigned a value.");
}
在这个例子中,我们首先检查 nullableInt
是否为 null
,然后使用 is
关键字检查它是否可以被安全地转换为 int
类型。如果这两个条件都满足,那么我们可以认为 nullableInt
是一个有效的非 null
值。