C# 運(yùn)算符 ?、??、?: 各種問號的用法和說明
1、可空類型修飾符(?):引用類型可以使用空引用表示一個(gè)不存在的值,而值類型通常不能表示為空,例如:string str=null;是正確的。int i=null;編譯器將報(bào)錯(cuò)。為了使值類型也可為空,可空類型出現(xiàn)了,可空類型使用可空類型修飾符?來表示,表現(xiàn)形式為T?。例:int?表示是可空的整形,DateTime?表示為可空的時(shí)間。T?其實(shí)是System.Nullable<T>(泛型結(jié)構(gòu))的縮寫形式,也就意味著當(dāng)你用到T?時(shí)編譯器在編譯時(shí)會把T?編譯成System.Nullable<T>的形式,例如:int?,編譯后便是System.Nullable<int>的形式。
int a; //a<>null
int ?b; //b=null
int ?c = b+1; //c=null;
2、空合并運(yùn)算符(??):用于定義可空類型和引用類型的默認(rèn)值。如果此運(yùn)算符的左操作數(shù)不為 null,則此運(yùn)算符將返回左操作數(shù);否則返回右操作數(shù)。 例:a??b,當(dāng)a為null時(shí)則返回b,a不為空時(shí)返回a本身??蘸喜⑦\(yùn)算符為右結(jié)合運(yùn)算符,即操作時(shí)從右向左進(jìn)行組合的。如,“a??b??c”的形式按“a??(b??c)”計(jì)算。
int?a=null; int b;(聲明a和b)
b=a??2; //b=2;
a=6;b=a??8;//b=6;
3、三元(運(yùn)算符)表達(dá)式(?:):如果這個(gè)你也不了解的話(我很不相信),那你就當(dāng)我也不了解吧,不再贅述。
int a=1>0?1:0 //a=1;
相關(guān)文章
C#實(shí)現(xiàn)窗體淡入淡出效果的方法總結(jié)
C#實(shí)現(xiàn)窗體淡入淡出效果的方法總結(jié),需要的朋友可以參考一下2013-05-05C#使用Socket實(shí)現(xiàn)服務(wù)器與多個(gè)客戶端通信(簡單的聊天系統(tǒng))
這篇文章主要介紹了C#使用Socket實(shí)現(xiàn)服務(wù)器與多個(gè)客戶端通信(簡單的聊天系統(tǒng)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02