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...