Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#5中的空条件运算符_C# - Fatal编程技术网

C#5中的空条件运算符

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,

在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,则条件(?)设置为p.FirstName(如果为true),设置为null(如果为false)”


var name=p=null?p.FirstName:null?一个扩展方法,但这不会节省大量的键入。将运算符添加到C#6的原因是C#5中没有简单的语法。如果有,那么就不需要添加该特性。
null
条件运算符是C#6特性,您在
C#5
中所做的操作已经更正,称为条件运算符。三元是一个更适合于任何需要3个操作数的运算符的板名,结果证明这是C#中唯一一个这样的。谢谢!我编辑了我的帖子,并为此添加了一个指向microsoft站点的链接。值得注意的是,
?。
是一个原子操作,而条件运算符不是。