1.??
為了實現Nullable數據類型轉換成non-Nullable類型數據,才有的一個操作符;
意義:一變量取值,取符號左邊的值,若左邊為null,那么取賦值??右邊的;
栗子:int ?a=3??-1 ; //??符左邊是3,不為空,所以a的值是3;
栗子2:int b=a??9;//??若a為空,則b取值為9;
?2.?:
三元運算符,可參看之前的文章;另條件操作符是向右關聯的,從左到右進行計算
栗子:a?b:c?d:e 可理解為 a?b:(c?d:e)
3.?
意義:用于對 int,double,bool 等無法直接賦值為 null 的數據類型進行 null 的賦值,意思是這個數據類型是 NullAble 類型的。
【引用:”?(單問號)“修飾符,是System.Nullable的縮寫形式,比如
int
?代表是可空的整形,
例如:
int
? a = 1 或者?
int
? b=
null
。Nullable類型具有一個HasValue的
bool
類型只讀屬性,
當Nullable類型實例的該屬性為
true
時,則表示該實例是非空實例,包含一個已知值Value,
HasValue為
false
時,訪問Value屬性將導致System.InvalidOperationException。這個其實我不大懂的
】
栗子:
int a; //默認值0 int? aa; //默認值null