• C# 的一些语法特性


    1.? -Nullable
    C# 里像int,bool,double 这样的struct和enum类型都不能为null.如果确实想在值域上加上null的话,
    Nullable就派上用场了.T?是Nullable<T> 的语法糖.要将T?转为T可以通过类型转换,或者通过T?的Value属性
    例:

    int? arg=-1;
    if(arg.HasValue){
    int value=arg.Value;
    }

    int?和int的区别就是int?可以赋值为null,但是int不可以

    2.??
    O ?? V 可以看作是O==null ? V:O 的语法糖.??运算符在左操作数非null时返回左操作数.否则返回右操作数

    int? i=null;
    return i ?? "True";

    3.=> lambda 表达式

    4.{} --initializer 初始化器
    collection initializer (集合初始化器)使得初始化一个List,Dictionary变得简单了
    例:

    List<string> list = new List<string>{"watashi", "rejudge"};
    Dictionary<string, string> dic = new Dictionary<string, string>
    {
    {"watashi", "watashi wa watashi"},
    {"rejudge", "-rejudge -pia2dea4"}
    };

    对应的还有object initializer 对象初始化器

    5.var -implicit type (隐式类型)
    var 只是个在声明变量时代替实际的类型名的语法糖,只能使用在编译器能根据上下文推出其实际类型的地方,这在类型名称藏在好几层namespace或class里的时候,还有在foreach 语句中非常有用

  • 相关阅读:
    Mysql-windows安装
    go-jwt生成token
    github下载慢的问题
    mysql主从复制(二)
    软件下载网站推荐
    Ubuntu14.04 安装ssh
    Ubuntu14.04 更换镜像源
    docker安装记录
    k8s安装记录
    Docker(一):Docker入门教程
  • 原文地址:https://www.cnblogs.com/MrALei/p/3668100.html
Copyright © 2020-2023  润新知