不是null打勾代表什么意思(#null运算符运用)

首页教程更新时间:2023-05-25 17:25:49

C#提供了三个简化null处理的运算符,分别是null合并运算符(??)、null合并赋值运算符(??=)、null条件运算符(?.)

我们分别简单讲解下这三种运算符的用法:

1.null合并运算符(??)

这个符号意思是“左边操作数不是null,则结果是操作数,否则是结果是右边的值”,举个例子:

string s1= null;

string s2= s1 ?? "default";//结果s2的值就是“default”

如果s1不为null,那么s1就会赋值给s2,并且右侧的表达式也不会被计算到。

除此之外,null合并运算符同样适用可空值类型:

int? a = null;

int b = a ?? -1;

Console.WriteLine(b); // output: -1

2.null合并赋值运算符(??=)

特别注意, C# 8.0 及更高版本中才可使用空合并赋值运算符 ??=, 该运算符仅在左侧操作数的求值结果为 null 时,才将其右侧操作数的值赋值给左操作数。 如果左操 作数的计算结果为非 null,则 ??= 运算符不会计算其右操作数。例如:

if (variable == null)

{

variable = expression;

}

在C#8.0之前,可以替换为:variable = variable ?? expression;

在C#8.0之后,可以替换为:variable ??= expression;

3.null条件运算符(?.)

null条件运算符简单来说,左边操作符不为null的时候和 . 调用作用是一样的,为null时则不进行后面运算直接返回null,而.调用则会抛出异常

另外关于?还有几种常见的用法,简单来说下:

4.可空类型修饰符<?>

引用类型能用null来表示一个表示一个不存在的值,但是值类型不能。例如:

string s1 = null;

int i = null;//编译就会报错

此时用 int? i = null;就可以了

5.三元运算符表达式(? :)

例如:x?y:z 表示如果表达式x为true,则返回y;如果x为false,则返回z,是省略if{}else{}的简单形式。

,
图文教程
相关文章
热门专题
推荐软件
奇热小说
奇热小说
下载
QQ2019手机版
QQ2019手机版
下载
王者荣耀
王者荣耀
下载
百度浏览器迷你版
百度浏览器迷你版
下载
2345浏览器手机版
2345浏览器手机版
下载
网易邮箱
网易邮箱
下载
爱奇艺
爱奇艺
下载
网易云音乐
网易云音乐
下载
WPSOffice
WPSOffice
下载
优酷
优酷
下载
谷歌浏览器(Chrome)
谷歌浏览器(Chrome)
下载
迅雷看看播放器
迅雷看看播放器
下载
UC浏览器
UC浏览器
下载
QQ音乐
QQ音乐
下载
阿里旺旺买家版v9.12.10C官方版
阿里旺旺买家版v9.12.10C官方版
下载
360安全卫士v12.1官方版
360安全卫士v12.1官方版
下载
猜你喜欢
TF2Mobile
TF2Mobile
下载
我的世界主菜单生物显示MOD1.9.4/1.10.2
我的世界主菜单生物显示MOD1.9.4/1.10.2
下载
魔界战仙
魔界战仙
下载
无人区英雄射击
无人区英雄射击
下载
智慧燃气服务者
智慧燃气服务者
下载
麻将小秀才红包版
麻将小秀才红包版
下载
知天气-福建app
知天气-福建app
下载
卡通无限跳跃
卡通无限跳跃
下载
优米
优米
下载
微生物模拟器3D
微生物模拟器3D
下载
一币网
一币网
下载
守望传说
守望传说
下载
品牌车配网
品牌车配网
下载
小飞象任务
小飞象任务
下载
都市时尚矢量美女素材
都市时尚矢量美女素材
下载
小万能遥控器
小万能遥控器
下载