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>的情勢。
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;