C#中? ??与?:的应用2022-09-29

2022-09-28  本文已影响0人  午字横

可空类型修饰符(?)

int? a=null;

空合并运算符(??)

 用于定义可空类型和引用类型的默认值。如果此[运算符](https://so.csdn.net/so/search?q=%E8%BF%90%E7%AE%97%E7%AC%A6&spm=1001.2101.3001.7020)的左操作数不为null,则此运算符将返回左操作数,否则返回右操作数。

例如:a ?? b 当a为null时则返回b,a不为null时则返回a本身。

string? a = null;
string b = null;
string c = "c";
var d = a ?? b ?? c;

三元(运算符)表达式(?:)
x?y:z 表示如果表达式x为true,则返回y;如果x为false,则返回z,是省略if{}else{}的简单形式。

 List<string> lst = null;

var b = lst == null ? 0 : lst.Count;
        Debug.LogError(b);

        var a = lst?.Count ?? 0;
        Debug.LogError(a);
上一篇 下一篇

猜你喜欢

热点阅读