C#關鍵字符號--? /??

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)」計算。
相關文章
相關標籤/搜索