zoukankan      html  css  js  c++  java
  • 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 语句中非常有用

  • 相关阅读:
    dumpsys
    阿里云云效流水线体验
    停车入场城市排行榜1
    第三方企业号对接工作
    PHP搭建(windows64+apache2.4.7+mysql-5.6+php5.5)
    十大编程算法助程序员走上高手之路
    数据库的最简单实现
    JavaScript 开发的45个经典技巧
    常用meta整理
    Shell脚本编程初体验
  • 原文地址:https://www.cnblogs.com/MrALei/p/3668100.html
Copyright © 2011-2022 走看看