C# ?和??使用讲解
程序员文章站
2022-12-25 15:49:47
场景1:使用?定义可空类型 众所周知,C#中的值类型是不可以为null的,如果必须为null,则需要将变量定义为可空类型,如下所示: 场景2:使用?检查null值 一般我们写代码时,为了避免代码出现空异常System.NullReferenceException,都会写很多的判断语句 在C#的新语法 ......
场景1:使用?定义可空类型
众所周知,c#中的值类型是不可以为null的,如果必须为null,则需要将变量定义为可空类型,如下所示:
int? age = null;
场景2:使用?检查null值
一般我们写代码时,为了避免代码出现空异常system.nullreferenceexception,都会写很多的判断语句
address address = null; if (address != null) { console.writeline(address.postcode); } console.readline();
在c#的新语法中,我们可以通过?来检查null值,这样可以减少很多不必要的判断
address address = null; var postcode = address?.postcode; console.writeline(postcode); console.readline();
场景3:使用??设置默认值
在写代码过程中,经常会碰到当变量为null值设置默认值的情况,原来的写法可能是这样的:
int? age = null; if (!age.hasvalue) { age = 18; } console.writeline(age); // 输出18 console.readline();
在c#的新语法中,可以通过??来设置默认值,如果变量值为null,取??右边的值,如果不为null,取变量的值
int? age = null; console.writeline(age ?? 18); // 输出18 age = 20; console.writeline(age ?? 18); // 输出20 console.readline();
上一篇: docker初探
下一篇: 机构学与机器人人才助力工业4.0
推荐阅读
-
【翻译】使用WebApi和Asp.Net Core Identity 认证 Blazor WebAssembly(Blazor客户端应用)
-
c# 值类型和引用类型 笔记
-
.NET Core Razor Pages中ajax get和post的使用
-
【C#常用方法】2.DataTable(或DataSet)与Excel文件之间的导出与导入(使用NPOI)
-
在Asp.Net Core中配置使用MarkDown富文本编辑器实现图片上传和截图上传(开源代码.net core3.0)
-
C#中构造函数和析构函数用法实例详解
-
C#常用数据结构和算法总结
-
C#实现DataSet内数据转化为Excel和Word文件的通用类完整实例
-
logcat命令使用方法和查看android系统日志缓冲区内容的方法
-
ubuntu1604环境下mariadb启动卡住报错和apparmor基本使用