📅  最后修改于: 2023-12-03 14:39:42.289000             🧑  作者: Mango
在 C# 中,有一种特殊的情况,即变量后面可以加一个问号,表示这个变量可以为 null
。
声明可为 null
的变量时,需要在其数据类型后加上 ?
。
例如,要声明一个可为 null
的 int
类型变量,可以这样写:
int? nullableInt;
通常情况下,int
类型的变量不可以为 null
,但加了问号后,它就可以了。
在使用可为 null
的变量时,需要特别注意。如果这个变量为 null
,那么调用它的属性或者方法时,就会抛出异常。
因此,在使用前,需要先判断该变量是否为 null
。有两种方法可以做到:
if
语句:if (nullableInt != null)
{
// 这里使用 nullableInt.Value 访问实际的值
}
??
运算符:int actualInt = nullableInt ?? defaultValue;
// 如果 nullableInt 为 null,则将 actualInt 赋值为 defaultValue
这种用法在实际工程中经常会见到。例如,查询数据库时,可能会返回一个 null
值,此时就需要使用可为 null
的变量来处理。又例如,有些程序需要根据用户的输入来执行不同的操作,而用户可能不会输入某些参数,这些参数就需要用可为 null
的变量来表示。
总之,这种语法可以让程序员更加灵活地处理数据,提高编程效率。