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