一、可空类型
在C# 1.X的版本中,一个值类型的变量是不可以被赋值为null(空值)的,否则会产生异常。而在C# 2.0中,新增了一个nullable类型,可以使用nullable类型定义包含null值的数据,例如,你可以在nullable<Int32>(可为空的int32类型)类型的变量中存储-2147483648到2147483647之间的任何只或者null。同样,您可以在nullable<bool>(可为空的bool类型)类型的变量中存储true、false或null。语法如下:
示例代码如下:
int? num1;
int? num2 = 123;
num1 = null;
double? num3 = new double?();
double? num4 = 3.1415926;
bool? boolval = null;
//输出这些值
Console.WriteLine("num1={0} \r\n num2={1} \r\n num3={2} \r\n num4={3} \r\n boolval={4}",num1,num2,num3,num4,boolval);
Console.ReadKey();
运行结果:
二、Null合并运算符(??)
在C#中Null合并运算符用于定义可空类型和引用类型的默认值。如果此运算符的左操作数不为null,那么运算符将返回左操作数,否则返回右操作数。例如表达式a??b中,如果a不为空,那么表达式的值则为a,反之则为b。需要注意的是,Null合并运算符左右两边操作数的类型必须相同,或者右操作数的类型可以隐式的转换为左操作数的类型,否则将编译失败。
示例代码如下:
int? num5 = null;
int? num6 = 456;
int num7;
num7 = num5 ?? 321;
Console.WriteLine("num7={0}",num7);
num7 = num6 ?? 321;
Console.WriteLine("num7={0}",num7);
Console.ReadLine();
Console.ReadKey();
运行结果:
标签:操作数,num7,Console,复习,C#,运算符,可空,类型,null From: https://www.cnblogs.com/daihaoliulingyi601/p/17831100.html