C#5中的空条件运算符
在c#6中,有一个新的空条件运算符,如下所示:C#5中的空条件运算符,c#,C#,在c#6中,有一个新的空条件运算符,如下所示: var name = p?.FirstName; 我们可以在c#5中使用什么,这样我们就不必求助于: var name = null; if(p != null) name = p.FirstName; 拉桑和我的想法一样。使用条件运算符可以节省一些时间 基本的想法是,你评估某件事是真是假,并给出你想要输入的值 var name = p != null ? p.FirstName : null; 上面是这样说的:“如果p!=null,
var name = p?.FirstName;
我们可以在c#5中使用什么,这样我们就不必求助于:
var name = null;
if(p != null)
name = p.FirstName;
拉桑和我的想法一样。使用条件运算符可以节省一些时间 基本的想法是,你评估某件事是真是假,并给出你想要输入的值
var name = p != null ? p.FirstName : null;
上面是这样说的:“如果p!=null,则条件(?)设置为p.FirstName(如果为true),设置为null(如果为false)”
var name=p=null?p.FirstName:null代码>?一个扩展方法,但这不会节省大量的键入。将运算符添加到C#6的原因是C#5中没有简单的语法。如果有,那么就不需要添加该特性。null
条件运算符是C#6特性,您在C#5
中所做的操作已经更正,称为条件运算符。三元是一个更适合于任何需要3个操作数的运算符的板名,结果证明这是C#中唯一一个这样的。谢谢!我编辑了我的帖子,并为此添加了一个指向microsoft站点的链接。值得注意的是,?。
是一个原子操作,而条件运算符不是。