1. 可空類型修飾符(?):
引用類型可以使用空引用表示一個(gè)不存在的值,而值類型通常不能表示為空。
例如:string str=null; 是正確的,int i=null; 編譯器就會(huì)報(bào)錯(cuò)。
為了使值類型也可為空,就可以使用可空類型,即用可空類型修飾符"?"來(lái)表示,表現(xiàn)形式為"T?"
例如:int? 表示可空的整形,DateTime? 表示可為空的時(shí)間。
T? 其實(shí)是System.Nullable<T>(泛型結(jié)構(gòu))的縮寫形式,也就意味著當(dāng)你用到T?時(shí)編譯器編譯 時(shí)會(huì)把T?編譯成System.Nullable<T>的形式。
例如:int?,編譯后便是System.Nullable<int>的形式。
2. 三元(運(yùn)算符)表達(dá)式(?:):
例如:x?y:z 表示如果表達(dá)式x為true,則返回y;如果x為false,則返回z,是省略if{}else{}的簡(jiǎn)單形式。
3. 空合并運(yùn)算符(??):
用于定義可空類型和引用類型的默認(rèn)值。如果此運(yùn)算符的左操作數(shù)不為null,則此運(yùn)算符將返回左操作數(shù),否則返回右操作數(shù)。
例如:a??b 當(dāng)a為null時(shí)則返回b,a不為null時(shí)則返回a本身。
空合并運(yùn)算符為右結(jié)合運(yùn)算符,即操作時(shí)從右向左進(jìn)行組合的。如,“a??b??c”的形式按“a??(b??c)”計(jì)算。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注