C# NULL值條件運算符 ?.


Null值條件運算符屬於C#6.0的語法糖

使用方法:變量名?.屬性

下列Person為使用到的類

1     public class Person
2     {
3         public string Name { get; set; }
4 
5         public int Age { get; set; }
6 
7         public int? Height { get; set; }
8     }

 

如果使用下列調用方式,則會引起NullReferenceException異常

為了容錯,我們一般會在代碼里寫這樣的判斷

1 Person p = null;
2 if (p!=null)
3 {
4      string pName = p.Name;
5 }

在C#6.0以后推出了Null值條件運算符,我們可以簡化成這樣的寫法

1 Person p = null;
2 string pName = p?.Name;

 當然我們也可以使用三元運算符來做判斷

1 string pName = p == null ? null : p.Name;

我在項目中經常使用到該運算符,在一些帶有釋放資源的finally代碼塊中使用會引起非常的舒適

如果項目中支持C#6.0那么最好是優先使用此方法,與if使用方式來說兩者的IL代碼是不同的,對該運算符的IL代碼有想深入了解請參考此博客https://www.cnblogs.com/linianhui/p/csharp6_null-conditional-operators.html#auto_id_1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM