打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
?? 运算符(C# 参考) | Microsoft Docs

?? 运算符称作 null 合并运算符。 如果此运算符的左操作数不为 null,则此运算符将返回左操作数;否则返回右操作数。

备注

可以为 null 的类型可以表示类型的域中的值,或者值可以是未定义的(在这种情况下,值为 null)。 当左操作数具有一个值为 null 的可以为 null 的类型时,可以使用 ?? 运算符的语法表现力来返回适当的值(右操作数)。 如果在尝试将可以为 null 值的类型分配给不可以为 null 值的类型时没有使用 ?? 运算符,则会生成编译时错误。 如果使用强制转换,且当前未定义可以为 null 值的类型,则会引发 InvalidOperationException 异常。

有关详细信息,请参阅可以为 null 的类型

?? 的结果 不能将运算符视为常量,即使其两个参数都是常量。

示例

C#
class NullCoalesce{    static int? GetNullableInt()    {        return null;    }    static string GetStringValue()    {        return null;    }    static void Main()    {        int? x = null;        // Set y to the value of x if x is NOT null; otherwise,        // if x == null, set y to -1.        int y = x ?? -1;        // Assign i to return value of the method if the method's result        // is NOT null; otherwise, if the result is null, set i to the        // default value of int.        int i = GetNullableInt() ?? default(int);        string s = GetStringValue();        // Display the value of s if s is NOT null; otherwise,         // display the string "Unspecified".        Console.WriteLine(s ?? "Unspecified");    }}

另请参阅

C# 参考
C# 编程指南
C# 运算符
可以为 null 的类型
“提升”的准确含义是什么?

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【C#】?的7种用法
2、Java 基础语法
day05_运算符入门
C++学习——数据类型(强制)转换详解
??操作符与三目运算符的区别 C#
JavaScript类型转换方法及需要注意的问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服