(十六)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();
运行结果:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战