C#每日一课(十二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/advent86/article/details/82995831

C#特殊数据类型nullable

C#提供了一个特殊的数据类型,可空类型(nullable),它可以表示基础类型以内的值,再加上一个null值。

如:Nullable<Int32>,可以理解为可空的Int32,它除了可以赋值为正常的Int32位范围内的任意值,同时也可以被赋值为null。

nullable类型声明语法:

<data_type>? <variable_name> = null;

使用vistual studio新建C#控制台应用程序Chapter07_001

在Main方法中添加如下代码来测试可空类型的使用:

//空数据类型用法

            int? num1 = null;

            int? num2 = 100;

            double? num3 = new double?();

            double? num4 = 3.1415926;



            //控制台打印显示结果

            Console.WriteLine("显示可空类型值:{0},{1},{2},{3}",num1,num2,num3,num4);



            bool? boolval = new bool?();

            Console.WriteLine("显示可空类型bool值:{0}",boolval);



        Console.ReadKey();

 

编译运行后结果如下:

Null合并运算符(??)

 

Null合并运算符用于定义可空类型和引用类型的默认值。

Null合并运算符为类型转换定义了一个预设值,以防止可空类型的值为Null。Null合并运算符把操作数类型隐式转换为另一个可空(或不可空)的值类型的操作数类型。

如果第一个操作数的值为null,则返回第二个操作数的值,否则返回第一个操作数的值。

在Main方法中添加如下代码:

//Null??运算符

double? num5 = num3 ?? num4;

Console.WriteLine("使用Null??运算符计算后num5结果是:{0}",num5);

编译运行后结果如下:

从上面的运行结果可以看到定义num5时对赋值的num3进行了是否为null判断,如果为空则使用num4的值赋值给到num5。

猜你喜欢

转载自blog.csdn.net/advent86/article/details/82995831