国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中的問號(?號)用法小結

2020-01-24 02:40:10
字體:
來源:轉載
供稿:網友

1. 可空類型修飾符(?):

  引用類型可以使用空引用表示一個不存在的值,而值類型通常不能表示為空。
  例如:
    string str=null;是正確的。
    int i=null;編譯器將報錯。
    為了使值類型也可為空,可空類型出現了,可空類型使用可空類型修飾符?來表示,表現形式為T?。
  例:int?表示是可空的整形,DateTime?表示為可空的時間。
  T?其實是System.Nullable<T>(泛型結構)的縮寫形式,也就意味著當你用到T?時編譯器在編譯時會把T?編譯成System.Nullable<T>的形式,
  例如:int?,編譯后便是System.Nullable<int>的形式。

2. 三元(運算符)表達式(?:):

語法為:條件表達式?表達式1:表達式2;
該操作首先求出條件表達式的值(bool類型),為true時調用表達式1,為flase時調用表達式2。
其邏輯為:"如果為真執行第一個,否則執行第二個。"

 例:
 test ? expression1 : expression2
 test 任何 Boolean 表達式。
 expression1 test 為 true 時返回的表達式。可能是逗點表達式。
 expression2 test 為 false 時返回的表達式。可能是逗點表達式。

 例如:
 string prm1="4"; string prm2="5";
 string prm3 = prm1==prm2?"yes":"no" // 此時prm3值為"no".

3. 空合并運算符(??):

空合并運算符 (null coalescing operator) ??
  用于定義可空類型和引用類型的默認值。如果此運算符的左操作數不為 null,則此運算符將返回左操作數;否則返回右操作數。
  例:a??b 如果 a 為非空,則 a ?? b 的結果為 a;否則結果為 b 。

空合并運算符為右結合運算符,即操作時從右向左進行組合的。
  例:“a??b??c”的形式按“a??(b??c)”計算。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平和县| 开阳县| 澄城县| 潞城市| 原阳县| 延吉市| 西林县| 遵化市| 新余市| 沂源县| 铜梁县| 乐至县| 沙湾县| 昌吉市| 扎囊县| 大姚县| 望城县| 余江县| 桑日县| 虎林市| 克什克腾旗| 洛川县| 左权县| 达日县| 马鞍山市| 九江县| 三明市| 老河口市| 会东县| 阜阳市| 湘潭市| 长海县| 德江县| 黎平县| 河源市| 沂水县| 凤庆县| 准格尔旗| 突泉县| 宣武区| 洮南市|