在C#中,可空类型(Nullable Types)允许值类型变量可以不存储任何值,即可以为null
。这对于处理数据库操作或其他可能包含空值的数据非常有用。C#使用?
符号来表示可空类型,并提供了一些方法和属性来处理这些类型。
1. 可空类型的定义
可空类型是对值类型的扩展,使其能够表示一个未赋值的状态。可以通过在值类型后面加上?
来定义一个可空类型。
示例:
int? nullableInt = null;
double? nullableDouble = 3.14;
在这个示例中,nullableInt
可以为null
或一个整数值,nullableDouble
可以为null
或一个双精度浮点数值。
2. 检查可空类型的值
可空类型有两个重要的属性:HasValue
和Value
。
HasValue
:返回一个布尔值,指示可空类型是否有值。Value
:返回可空类型的值(如果存在)。
示例:
int? nullableInt = 10;
if (nullableInt.HasValue)
{
Console.WriteLine($"Value: {
nullableInt.Value}");
}
else
{
Console.WriteLine("No value assigned.");
}
在这个示例中,如果nullableInt
有值,则输出其值;否则,输出"No value a