今天看到一段代碼
public ActionResult New(Guid? id, FormCollection collection)
參數裏面怎麼有個問號,還不報錯,查一下才知道?的幾種用法
- 引用類型可以爲null,值類型不能爲null,但是如果想讓值類型爲null的話可以加上?
比如
int? a = null;
public void Test(int? b)
- 三元運算符
- 空合併運算符(右結合操作符)
char? a1 = null;
char b1 = 'b';
Console.WriteLine(a1??b1);
char a2 = 'a';
char b2 = 'b';
Console.WriteLine(a2??b2);
結果第一個輸出b1的值,第二個輸出b2的值。
a??b 如果a爲空則等於b,否則等於a。