C#运算符(?: ?? ?. ?[])

整理下最近用到的C# 运算符

1. 可空修饰符 ?

引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。

int? num = null; // 使用 ? 来替代 num == null 的判断

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

三元运算符也是我们平时最常用的一种

d = a ? b : c

表示如果表达式a 为true,则返回b;如果a为false,则返回c,省略if{ }else{ }的简单形式。

3.空合并运算符(??)

用于定义可空类型和引用类型的默认值。如果此运算符的左操作数不为null,则此运算符将返回左操作数,否则返回右操作数。

string a = null;
 string b = "您好";
 string c = “hellow”;

a??b 因为a为null,所以返回b的值。而对于下面这种形式,会默认转换为 a??(b??c)的形式,所以得到的结果是 “hellow”。

    var st = a ?? b??c;

4.NULL检查运算符(?.)

当需要获取一个数据中的某个值时,如果不进行NULL检查,必然是不安全的,作为一个偷懒的程序,最先想到的就是使用(?.)

string str = null;
var s3 = str?.GetType();

5 NULL检查运算符(?[])

    int[] num = null;
    var s1 = num?[1];

可以自动检测进行NULL检测,不过在使用时要注意数组越界问题。

int[] nums2 = { 3, 6, 92, 8 };
var s2 = nums2 ?[8];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stupid_kidofObj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值