(十六)C#编程基础复习——可空类型

特此声明:本教程内容可能有部分参照其他博主的观点或描述,但始终不影响我学习的热情,代码全部自己手工敲打,编辑此教程目的不是为了博取大家眼球,也不是为利益所驱,只是纯属为了方便自己学习,编辑的过程中也让自己加深了对C#各个基础的印象,同时也让自己编码过程更加流畅顺利,最后还能帮助到有需要的人,代码都是自己亲测有效,如有侵权可以联系本人删除。

一、可空类型

在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();

运行结果:

posted @   代号六零一  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示