"??"运算符是用来干什么的?"

31 浏览
0 Comments

"??"运算符是用来干什么的?"

这个问题已经有了答案

C#中两个问号组合起来是什么意思?

我想知道在C#编码中??是什么意思?我该如何使用它?

int?又是什么?是可空整数吗?

另见:

?? 空值合并运算符 —> coalescing 是什么意思?

admin 更改状态以发布 2023年5月21日
0
0 Comments

它被称为“空值合并运算符”,并且的工作原理类似于:

不再需要这样做:

int? number = null;
int result = number == null ? 0 : number;

现在,您只需执行以下操作:

int result = number ?? 0;

0
0 Comments

这是null 合并运算符,它在C# 2中被引入。

表达式a ?? b的结果是a,如果它不是null,则为b。只有在需要时才会评估b

两个好处:

  • 表达式的整体类型是第二个操作数的类型,在使用可空类型值时很重要:

    int? maybe = ...;
    int definitely = maybe ?? 10;
    

    (请注意,您不能将非可空类型值用作第一个操作数 - 这是无意义的。)

  • 关联规则意味着您可以轻松地链接它。例如:

    string address = shippingAddress ?? billingAddress ?? contactAddress;
    

这将使用运输、结算或联系地址中的第一个非null值。

0