之前最常用的也就是(?:),最近遇到(?)和(??)感覺還是挺有意思的。
int? a = null;
用於定義可空型別和引用型別的預設值。如果此運算子的左運算元不為null,則此運算子將返回左運算元,否則返回右運算元。
例如:a ?? b 當a為null時則返回b,a不為null時則返回a本身。
string a = null;
string b = "b";
string c = "c";
var d = a ?? b ?? c; //"b"
x?y:z 表示如果表示式x為true,則返回y;如果x為false,則返回z,是省略if{}else{}的簡單形式。
string a = "a";
var b = a == "a" ? "a" : "b"; //"a"
listlst = null;
var a = lst?.count ?? 0; //0
var b = lst == null ? 0 : lst.count; //0
C 中 與 的使用
1 可空型別修飾符 int?a null 2 空合併運算子 用於定義可空型別和引用型別的預設值。如果此運算子的左運算元不為null,則此運算子將返回左運算元,否則返回右運算元。例如 a b 當a為null時則返回b,a不為null時則返回a本身。string a null string b b st...
c與c 中const使用
c中可以修改const修飾的變數的值 區域性變數 int main 全域性變數 const int c 10 唯讀 int main c 中不可以修改const修飾的變數的值 區域性變數 int main 為什麼 p輸出的是11?原因 區域性變數 const int c其實是儲存在符號表中,無記憶體...
C與C 中的enum型別使用
1.enum常量與enum變數 對於enum型別,定義enum時在 中定義的屬於enum常量,這些量不可以被更改,同時可以在程式中任意地方宣告乙個enum變數,但enum變數必須用enum常量進行賦值。enum myenum enum enumvar first enum變數用enum常量進行賦值初...