C#基础:可空类型

  C#提供了一个特殊的数据类型,nullable(可空)类型。可空类型可以表示其基础值类型正常范围内的值,外带一个null值。

  相关的字符有?和??两种。

【1】?字符

  单问号用于对无法直接赋值为null的数据类型进行null的赋值,意思是这个数据类型是Nullable类型的。例如Nullable<Int32>(读作“可空的Int32”),可以被赋值为-2147483648到2147483647之间的任意值,也可以被赋值为null值。在处理数据库和其他可能包含未赋值的元素的数据类型时,将null赋值给数值型或布尔型的功能特别有用。声明一个nullable类型的语法如下:

1 int ? num1 = null;
2 int ? num2 = 56;
3 double ? num3 = new double?();
4 //int ? i = 3等价于Nullable<int> i = new Nullable<int>(3);

【2】??字符

  ??是合并运算符,用于定义可空类型和引用类型的默认值。Null合并运算符为类型转换定义了一个预设值,以防可空类型的值为Null。Null合并运算符把操作数类型隐式转换为另一个可空(或不可空)的值类型的操作数的类型。若第一个操作数的值为null,则运算符返回第二个操作数的值,否则返回第一个操作数的值。示例:

1 int ? num1 = null;
2 int ? num2 = 10;
3 int num3;
4 num3 = num1 ?? 5;    //num3值为5
5 num3 = num2 ?? 5;    //num3值为10

猜你喜欢

转载自www.cnblogs.com/inkice/p/10817656.html
今日推荐