C# null 合并运算符??(双问号)使用示例

??是一个二元运算符,如果左操作数非空,则返回左操作数,否则返回右操作数,所以,在一些特定的场合可以用它来代替?:运算符,简化代码书写。

例1:

int length = Request.QueryString["l"] != null ? int.Parse(Request.QueryString["l"]) : 0;

使用??运算符:

int length = int.Parse(Request.QueryString["l"] ?? "0");

例2:


int? m = null;

int n = m == null ? (int)m : 0;

使用??运算符:


int? m = null;

int n = m ?? 0;

参考资料:

[1].?? 运算符(C# 参考):http://msdn.microsoft.com/zh-cn/library/ms173224(v=vs.80).aspx