C#里的标点符号

微软在C#中加入了很多符号,比如“?”、“??”、“[]”(中括号)、“<>” (这个倒不是C#独有的)等等。下面分别对他们的使用方法进行说明。

本文目前尚不完整,根据程序中实际用到的情况会不断添加。

  1. 可空类型“?”

可空类型符号“?”加在原本不可为空的类型后面,所定义的类型变量便可以被赋以空值,比如:

public static void Main()
{
    String str = null; // OK 
    int i = null;      // CS0037 Cannot convert null to 'type' 
                       // because it is a non-nullable value type
}

如果需要将i定义为null,则写成下面这种形式就可以了

int? i = null; // OK

此外还需要知道的一点是,使用“?”定义出来的可空变量,实际上是Nullable结构体的一个实例。

  1. 空连接操作符“??”

微软形容C#的第一个词是“elegant”,为了做到elegant,微软可谓煞费苦心。在C中经常会有这些情况,比如有的变量只是用一次就不再用;再比如做滤波器的时候,第一次差分运算需要进行判断。这些额外的判断语句确实破坏了代码的整体美感。??就是为了这个目的诞生的。看下面这段代码:

static void Main()
{
    // ?? operator example. 
    int? x = null;

    // y = x, 当x == null时y = -1
    int y = x ?? -1;
}
  1. 3.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值