美文网首页C#
C# ?问号操作符详解

C# ?问号操作符详解

作者: 炉石不传说 | 来源:发表于2020-03-15 17:33 被阅读0次

下面四种问号操作符的使用功能仅限于C#6.0

1、三目操作运算符【 ? : 】

int a=1; int b=2; int c=3;

int d = a > 0 ? c : b;

等价于

if(a > 0)

d = c;

else

d =b;

2、基本数据类型可空标识符【?】

因为在C#中值类型 int a 的默认值是0。同时也不能进 a = null的赋值操作,所有if(a != null)永远为真。但是可以使用 a?= null,对值类型的a进行null赋值。

例如下面的声明操作 :

public int? iNull1;

public int? iNull3 = null;

3、null合并运算符【??】

在赋值的结果中的变量如果为空则用??后面的值替代前面的变量,否则直接用前面的变量

例如:

string str1 = null;

string str2 = str1?? "name";

等价于

if(str1 != null)

str2 = str1;

else

str1 = "name";

4、null条件运算符【?.】

在用于在执行成员访问 (?.) 或索引 (?[) 操作之前,测试是否存在 NULL。 这些运算符可帮助编写更少的代码来处理 null 检查,尤其是对于下降到数据结构。

TestClass test1 = null;

int num = test1?.Num;

等价于

if(test1 != null)

num = test1.Num;

else

num = 0;

详细测试代码和运行结果详见我的知乎地址:C# ?问号操作符详解 - 知乎

相关文章

网友评论

    本文标题:C# ?问号操作符详解

    本文链接:https://www.haomeiwen.com/subject/wxoyehtx.html