C#中的?操作符


一、1個?的用法

1. 表示可空數據類型,如 int? bool?

2. 跟在對象后,如該對象為null,則不會觸發空值異常,且整個表達式返回null,如:

string kk = "123";

volcalc=null; //volcalc為復合對象

kk=volcalc?.digVm?.outCeiling?.outRing();

結果:kk=null;

又如:當innerCeiling為null時,該表達式返回null。digvm.innerCeiling?.outRing?.Split(" \r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList();

但包含的?對象不能被賦值,如語法錯誤(?在對象的最后也不行):digvm.outCeiling?.outRing = "abc"; //錯誤表達式

 

二、??的用法

??可連接兩個對象,表示如果前面的對象為null則取后面的對象

int? ii=null;
string cc=null;
ii = ii ?? 5;
cc = cc ?? ii.ToString();

結果:cc="5"

 

三、3元表達式 aa?bb:cc

aa為1邏輯表達式,如果aa=true,返回bb,否則返回cc


免責聲明!

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



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