C#中?的相关使用

 C#中?的相关使用

1. 可空类型

使用后可以使值类型的变量,既可以接收null也可以接收正常的值类型。

1
2
int? a = null;
a = 10;

2. 可空运算符

使用?前:

1
2
3
4
5
6
if(object != null){//方法调用
    object.method();
}
if(array != null){ //数组索引
    int a = array[1];
}

使用?后:

1
2
object?.method();
array?[1];

3. 三元运算符 condition?(true result):(false result)

使用?前:

1
2
3
4
5
6
7
8
if(object.num!=null)
{
    int num =object.num
}
else
{
    int num=0
}

使用?后:

1
int oneNum = object.num !=null? object.num : 0;

4. 空合并运算符 ??

使用??前:

1
int oneNum = object.num !=null? object.num : 0;

使用??后:

1
int oneNum = object.num ?? 0;

 

总结

null在很多情况下,对于程序而言都是不友好的,我们也极力地避免null的出现。相比较使用各种判断语句而言,?的出现无疑让代码精简了不少,理解性也提高了很多。而且它们之间的嵌套使用(像最后一个例子)在复杂的判断中优势更加的明显。

 
分类: Unity
分类: C#
posted @   gatran  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示