1. 可空類型修飾符(?): 引用類型能夠使用空引用表示一個不存在的值,而值類型一般不能表示爲空。 例如:string str=null; 是正確的,int i=null; 編譯器就會報錯。 爲了使值類型也可爲空,就能夠使用可空類型,即用可空類型修飾符"?"來表示,表現形式爲"T?" 例如:int? 表示可空的整型,DateTime? 表示可爲空的時間。 T? 實際上是System.Nullable(泛型結構)的縮寫形式,也就意味着當你用到T?時編譯器編譯 時會把T?編譯成System.Nullable的形式。 例如:int?,編譯後即是System.Nullable的形式。 2. 三元(運算符)表達式(?:): 例如:x?y:z 表示若是表達式x爲true,則返回y;若是x爲false,則返回z,是省略if{}else{}的簡單形式。 3. 空合併運算符(??): 用於定義可空類型和引用類型的默認值。若是此運算符的左操做數不爲null,則此運算符將返回左操做數,不然返回右操做數。 例如:a??b 當a爲null時則返回b,a不爲null時則返回a自己。 空合併運算符爲右結合運算符,即操做時從右向左進行組合的。如,「a??b??c」的形式按「a??(b??c)」計算。