今天看到一段代码
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。