C# 6.0 语法新特性

这篇具有很好参考价值的文章主要介绍了C# 6.0 语法新特性。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 静态using(static using)。引用静态类后,可以直接方法名
    old:
    using System;
    Console.WriteLine("Hello, World!");
    new:
    using static System.Console;
    WriteLine("Hello, World");
    
  2. 表达式方法 使用表达式方法,只有一条语句的方法可以使用lambda语法写。
    old:
    bool IsSquare(Vector2 v2)
    {
        return v2.x == v2.y;
    }
    new:
    bool IsSquare(Vector2 v2) => v2.x == v2.y;
    
    
  3. 表达式属性
    old:
    public string FullName
    get
    {
        return FirstName +"" + LastName;
    }
    new:
    public string FullName => FirstName +"" + LastName;
  4. 自动属性初始化
    old: 
    public int Age { get; set; } 
    new:
    public int Age { get; set; } = 34;
  5. 只读自动属性
    old:
    private readonly int _bookId;
    public BookId
    {
    get
    {
    return _bookId;
    }
    }
    new:
    public BookId {get;}
  6. nameof操作符 字段、属性、方法和类型的name可以通过nameof访问。使用nameof,可以方便的重构name变化
    old:
    public void Method(object o)
    {
        if (o == null) throw new ArgumentNullException("o");
    }
    new:
    public void Method(object o)
    {
        if (o == null) throw new ArgumentNullException(nameof(o));
    }
  7. Null传递操作符(?.)
    handler?.Invoke(source, e);
  8. 字符串插值($)
    $"name={Name},age={Age}"
  9. 字典初始化器
    old"
    var dict = new Dictionary<int, string>() { {3, "three"}, {7, "seven"} }
    new:
    var dict = new Dictionary<int, string>() { [3] = "three", [7] = "seven" }
  10. 异常过滤器
    try
     {
      throw new WebException("Request timed out..", WebExceptionStatus.Timeout);
     }
     catch (WebException webEx) when (webEx.Status == WebExceptionStatus.Timeout)
     {
      // Exception handling
     }
  11. 在Catch使用Await
    old:
    bool hasError = false;
    string errorMessage = null;
    try
    {
    //etc.
    } catch (MyException ex)
    {
    hasError = true;
    errorMessage = ex.Message;
    } 
    if (hasError)
    {
    await new MessageDialog().ShowAsync(errorMessage);
    }
    new:
    try
    {
    //etc.
    } catch (MyException ex)
    {
    await new MessageDialog().ShowAsync(ex.Message);
    }

文章来源地址https://www.toymoban.com/news/detail-465851.html

到了这里,关于C# 6.0 语法新特性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 静态内部类的访问方法(static/无static)

    笔记汇总: 《Java面向对象程序设计》学习笔记 用static修饰内部类,可以直接通过内部类类名访问静态内部类。 没有用static修饰内部类,则需要new一个外部类实例,再通过外部实例创建内部类。 外部类之外创建内部类对象_new通过外部类创建内部类对象_Dingwensheng1222的

    2024年02月14日
    浏览(46)
  • C++静态成员(static)

    由static修饰类体中成员,称为类静态成员(static class member)。类的静态成员为其所有对象共享,不管有多少对象,静态成员只有一份存于公共内存中。静态数据成员被当作该类类型的全局对象。 在类设计中,用static修饰的数据成员为静态数据成员。由该类型实

    2023年04月09日
    浏览(42)
  • C++中的static(静态)

    2014年1月19日   内容整理自The Cherno:C++系列 2014年1月20日   内容整理自《程序设计教程:用C++语言编程 第三版》 陈家骏  郑滔 --------------------------------------------------------------------------------------------------------------------------------- static在C++中有2个意思,这取决于上下文

    2024年01月22日
    浏览(36)
  • 静态路由(Static Routing)

    目录 一、前言 1.1 静态路由定义 1.2 静态路由可能造成路由环路的原因         1)配置错误         2)聚合了不存在网络         3)网络故障 二、案例说明 2.1 案例1(静态路由配置) 案例小结 2.2 案例2(默认路由配置) 案例小结 三、路由环路问题的解决方案 3.1 配置错误 解

    2024年02月12日
    浏览(34)
  • Java---类、static(静态)详解

    类的定义格式如下: 例如: 例如: 1.3.1 封装的步骤 使用 private 来修饰成员变量。 使用 public 修饰getter和setter方法。 1.3.2 封装的步骤实现 1.private修饰成员变量 2.public修饰getter和setter方法         static是静态的意思。 static可以修饰成员变量或者修饰方法。         

    2024年02月08日
    浏览(43)
  • java static修饰的静态成员

    静态成员 特点 : 静态方法的 注意事项 : 这里的 school 被 static 修饰   在这里我们 new 了两个对象,但是我们在第二个new的对象 s2 中没有输入学校,school应该为 null ,但是显然有数据,那是因为我们的 static 修饰了school. 学的不是技术,更是梦想!!!

    2024年02月15日
    浏览(36)
  • 使用Mockito模拟Static静态方法

    Mockito3.4.0版本之后增加了对Static方法的支持,在这里简单记录下Mockito.mockStatic方法的用法 这是待测试的方法,用到了TestUtil.getString这个静态方法,将使用Mockito改变他的返回值 测试方法使用到的静态方法 他返回字符串本身,我们将通过Mockito改变他的返回值 Junit测试代码,执

    2024年02月02日
    浏览(42)
  • Java学习笔记(static静态变量)

    static static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量 被static修饰的成员变量,叫做静态变量,被static修饰的成员方法,叫做静态方法 静态变量的特点: 被该类所有对象共享 不属于对象,属于类 随着类的加载而加载,优先于对象存在 调用方式: 类名调

    2024年02月12日
    浏览(60)
  • 是否可以在static环境中访问非static变量,用代码说明

    在静态环境中无法直接访问非静态(非static)变量。静态环境指的是静态方法或静态代码块,它们在类加载时执行,并且不依赖于对象的实例。非静态变量是实例变量,它们的值是与类的每个实例对象相关联的。 下面是一个示例代码,展示了在静态方法中访问非静态变量会导

    2024年02月15日
    浏览(43)
  • 【C++】static 关键字的特性 与 问题

    声明为 static的类成员 称为 类的静态成员 用 static 修饰的成员变量 ,称之为 静态成员变量 ; 用 static 修饰的成员函数 ,称之为 静态成员函数 。 静态成员变量 一定要在 类外进行初始化 。 下面一段代码证明 上述定义: 输出结果: 从代码可以看出,静态成员变量需要在 类

    2024年02月14日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包