??运算符(C#)

??是一个二元运算符,当左边操作数为null时返回右边操作数,否则返回左边操作数。例如:

2 ?? 1; //结果:2
null ?? 1; //结果:1

这在可空类型运算时比较有用:

int? a = 5;
int b = a + 6 ?? 0;

若不用??运算符,会提示将int?转换为int缺少显示转换,加入显示转换后,如果a的值为null,程序运行错误(System.InvalidOperationException)。

此外,在某些场合中,??还可以代替?:使用,简化输入:

string domain = Request["domain"] ?? "mzwu.com";
string name = (Session["name"] ?? (string)"").ToString();

注意:??运算符两个操作数类型必须一致!

上一篇: 从sis文件中提取UID
下一篇: C#移动无标题栏窗体代码
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 3628
发表评论
登录后再发表评论!