C#语言其实鼓励程序设计师在声明变量时,同时声明变量的初始值。
在.NET的架构下,有System.Nullable类,此类提供null值。如果声明值类型的变量时,不想设定初始值,可以先将其设定为null,这时变量声明需搭配?符号,就可以设定为null(Nullable结构),但下列是错误语句:
int x = null; // 少了 ?
如果声明数据类型加上?,则表示此类的变量可以是null,这代表是空的值,所以下列是正确的语句。
int? x = null;
上述概念可以应用在除了string以外的其他数据类型,因为string是引用数据类型,本身就可以空,例如,下列程序是正确的。
string x = null; // string本身就是可以空(null)的类型
在后文读者还会学习许多引用数据类型,想要设定这些变量的初始值为null,可以参考字符串方式直接声明即可。