程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中的問號(?號)用法小結

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

編輯:C#入門知識

C#中的問號(?號)用法小結。本站提示廣大學習愛好者:(C#中的問號(?號)用法小結)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中的問號(?號)用法小結正文


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)”盤算。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved