C 運算子 各種問號的用法和說明

2022-03-02 20:54:49 字數 699 閱讀 2014

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

int a; //a<>null

int ?b; //b=null

int ?c = b+1; //c=null;

2、空合併運算子(??):用於定義可空型別和引用型別的預設值。如果此運算子的左運算元不為 null,則此運算子將返回左運算元;否則返回右運算元。 例:a??b,當a為null時則返回b,a不為空時返回a本身。空合併運算子為右結合運算子,即操作時從右向左進行組合的。如,「a??b??c」的形式按「a??(b??c)」計算。

int?a=null; int b;(宣告a和b)

b=a??2; //b=2;

a=6;b=a??8;//b=6;

3、三元(運算子)表示式(?:):如果這個你也不了解的話(我很不相信),那你就當我也不了解吧,不再贅述。

int a=1>0?1:0 //a=1;

C 中的問號運算子

c 中的問號運算子分為三種功能 第一種 單問號作為條件判斷的三元運算子。這種方式可以處理一些簡單的if結構的條件語句,比如簡單的根據條件結果賦值的功能 inta 4 intb 4 intc b 0?b a 上面的 實現了如果變數b的值大於0,則將b的值賦給c,否則將a的值賦給c。第二種 單問號做為基...

C ?問號運算子知多少

總結一下c 中問號有三種 第一 三目操作運算子 問號前面的是條件,後面的是結果,條件滿足返回冒號前面的值否則後面的值 事例 csharp view plain copy white space pre public intwhobig inta,intb public intwhosmall int...

c 運算子說明

左右兩個條件都成立時,整體才成立。左右兩個條件中有乙個成立,整體就成立。前面是判斷語句,當成立時輸出 左邊值,不成立時輸出 右邊值。int c a b 2 3 當a大於b時,c被賦值2,否則被賦值3相同位的兩個數字都為0,則為0,若有乙個不為0,則為1 define tuanyuan 1 defin...