在 C# 中,null
是一个特殊的值,表示一个变量没有引用任何对象。当使用可空类型(nullable types)时,可以使用几种方法来避免空指针异常(NullReferenceException)。
- 使用
?.
操作符:在访问可空类型的成员时,使用?.
操作符可以避免空指针异常。如果可空值为null
,则操作符左侧的表达式将被忽略,不会引发异常。
int? nullableInt = null; int value = https://www.yisu.com/ask/nullableInt?.Value; // value will be 0, because nullableInt is null>
- 使用
??
操作符:在表达式中,可以使用??
操作符为可空类型提供一个默认值。如果可空值为null
,则表达式将返回指定的默认值。int? nullableInt = null; int defaultValue = https://www.yisu.com/ask/nullableInt ?? 0; // defaultValue will be 0, because nullableInt is null>
- 使用
if (nullableInt != null)
检查:在使用可空类型之前,可以使用if
语句检查其值是否为null
。这样可以确保在访问成员之前,可空值不为null
。int? nullableInt = null; if (nullableInt != null) { int value = https://www.yisu.com/ask/nullableInt.Value;>
- 使用空合并操作符(Null Coalescing Assignment):在赋值时,可以使用空合并操作符
??=
为可空类型提供一个默认值。如果可空值为null
,则表达式将把指定的默认值赋给变量。int? nullableInt = null; nullableInt ??= 0; // nullableInt will now be 0, because it was null遵循这些实践可以帮助您避免在使用 C# 可空类型时出现空指针异常。