什么是运算符“?.”?

What is operator "?."?

我参加了一个会议,演讲者的示例中有“?”。操作员。 这是什么?

相似代码:

var result = man?.Name;

它是 c# 6.0 语法,Null 传播运算符。这意味着:

var p = man;

if(p != null)
{
   var result = man.Name;
}
else
{
   var result = null;
}

更多信息在这里:https://msdn.microsoft.com/en-us/magazine/dn802602.aspx

在C#-6.0版本中被称为Null-propagating operator

var result = man?.Name;

等于

var temp = man;
var result = (temp != null) ? man.Name : null;