在 C# 中,使用可空类型(nullable types)可以提高代码的类型安全性。可空类型允许变量具有一个默认值(null),而不仅仅是默认值。要确保类型安全,请遵循以下准则:
?
符号定义可空类型:在类型后面添加一个问号(?),表示该类型可以是可空的。例如,int?
表示一个整数可以是可空的。int? nullableInt;
null
。例如,使用 ??
操作符为可空类型提供默认值。int? nullableInt = null;
int defaultValue = nullableInt ?? 0; // 如果 nullableInt 为 null,则将 defaultValue 设置为 0
null
值。在方法内部,检查参数是否为 null
,然后采取适当的措施。void PrintNumber(int? number)
{
if (number == null)
{
Console.WriteLine("Number is null");
}
else
{
Console.WriteLine("Number is: " + number);
}
}
null
值,将其返回类型声明为可空类型。这样,调用者可以检查返回值是否为 null
,然后采取适当的措施。int? FindUserById(int id)
{
// 查找用户并返回其 ID,如果未找到则返回 null
return userRepository.FindUserById(id);
}
null-conditional
操作符:在访问可空类型的成员时,使用 ?.
操作符可以避免在成员为 null
时引发异常。int? nullableInt = GetNullableInt();
int value = nullableInt?.Value; // 如果 nullableInt 为 null,则 value 将被设置为 0
遵循这些准则,可以确保在使用可空类型时保持代码的类型安全。