C# 空值運算符,null條件操作符,?.

工作時遇到大佬寫的代碼:

A?.Invoke("Hehe");

這是C#6.0新語法,百度搜索叫“空值傳播運算符”,《C# 本質論》中翻譯爲null條件操作符

在調用值爲null的方法時,運行時都會拋出一個System.NullReferenceException的異常,通常以此表明程序邏輯上存在錯誤。考慮到在調用成員之前進行null值檢查這一模式的頻率很高,C# 6.0 引入了一種更爲簡化的null條件操作符(null-condition operator)  ?.

null條件操作符在調用方法或屬性之前檢查操作數是否爲null,如果爲null,則不執行方法組。

 上述示例等價於

if(A == null)
{
   //不執行
}
else
{
   A.Invoke("Hehe");
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章