c#中的問號運算子分為三種功能:
第一種:單問號作為條件判斷的三元運算子。
這種方式可以處理一些簡單的if結構的條件語句,
比如簡單的根據條件結果賦值的功能:
inta =4
;intb =
-4;intc =
b >0?
b : a;
上面的**實現了如果變數b的值大於0,則將b的值賦給c,否則將a的值賦給c。
第二種:單問號做為基本資料型別宣告變數的識別符號。
這種方式結構如下:
int?
<
argument
>
=<
value
>
;這樣可以實現基本資料型別的值也可以賦為null。
比如:inti =
null
;這樣的**將在編譯時報錯,而像下面的**則可以正常執行:
int?i =
null
;第三種:雙問號做為條件判斷的運算子。
比如我們要保證乙個字串物件的值不能為null,則可以使用如下方式:
string
str1
=null
;string
str2
=str1
??""
;上面**將自動判斷str1物件的值,如果不為null,將str1的值賦於str2,否則將空字串賦於str2
C ?問號運算子知多少
總結一下c 中問號有三種 第一 三目操作運算子 問號前面的是條件,後面的是結果,條件滿足返回冒號前面的值否則後面的值 事例 csharp view plain copy white space pre public intwhobig inta,intb public intwhosmall int...
c 小技巧 單問號和雙問號 位運算子
作用 用於給變數設初化的時候,給變數 int型別 賦為null值,而不是0。例子 public int a 預設值為0 public int b 預設值為null 參考 作用 用於判斷並賦值,先判斷當前變數是否為null,如果是就可以賦乙個新值,否則跳過。例子 public int?b 預設值為nu...
C 中 運算子 和 運算子
運算子定義在將可空型別分配給非可空型別時返回的預設值。int?c null 若 c 為 null,則 d 為 1,否則把 c 值賦予 d int d c 1 型別名稱後加問號,如 int?i null double?d null bool?b null 可指定可為 null 的 int double...