?和??的作用和含义

18 篇文章 0 订阅
4 篇文章 0 订阅

?的含义

C#中,?有两个含义:

?的第一个含义:

?表示该类型可空(可为null),用法为T?。

例如,int类型是值类型(不可为null),但int?类型可以为空(可为null)。

举例:

         int a = 3;(编译通过)

         int b  = null;(编译报错)

         int? c = null;(编译通过)

?的第二个含义:

组成三元运算符,即表达式1 ? 表达式2 : 表达式3

例如:a = b ? c : d;该语句的含义是:如果b为true,则a = c;如果a为false,则a = d。

举例:

          int a = 2 < 3 ? 4: 5;(结果是a = 4)

          int b = 2 > 3 ? 4 : 5;(结果是a = 5)

??含义

C#中??是空合并运算符(一个二元运算符),含义是:如果左操作数不为null,则返回左操作数;否则,返回右操作数。

举例:

string str1 = null;

string str2 = "hello";

string str3 = str1 ?? str2;(结果是hello)

string str4 = str2 ?? str1;(结果是hello)

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值