C#里的标点符号

来源:互联网 发布:软件系统架构申请专利 编辑:程序博客网 时间:2024/04/30 21:19

微软在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;}
    3.
0 0
原创粉丝点击