zoukankan      html  css  js  c++  java
  • C#6.0

    C#6.0

    导入静态类

    我们可以使用using static 命名空间.静态类来导入要使用的静态类,后续使用时就可以像本地类一样的使用了,例如:

    //导入Math静态类
    using static System.Math;
    
    //使用时就不需要再指定命名空间了,可以直接类名.静态方法()来使用
    int n = (int)Math.Ceiling(0.01m);
    

    异常过滤器

    异常过滤器可以让你在catch块执行之前先进行一个条件判断。

    try
    {
        using (HttpClient client = new HttpClient())
        {
            var response = await client.GetStringAsync("https://i.cnblogs.com/tags");
            Console.WriteLine(response);
        }
    }
    catch (System.Net.Http.HttpRequestException ex) when (ex.Message.Contains("401"))
    {
        Console.WriteLine(ex.Message);
    }
    

    自动属性初始化

    C#6.0之前是没办法给自动属性进行初始化,只能在对象创建成功后手动赋值。现在可以直接在自动属性后面加上初始值或初始化表达式。

    private static int _defaultGender = 1;
    
    //使用字面量设置初始值
    public string Name { get; set; } = "张三";
    //使用初始化表达式设置初始值
    public string Gender { get; set; } = _defaultGender == 1 ? "男" : "女";
    

    Null条件运算符

    Null条件运算符使null检查更轻松、更流畅。将成员访问.替换为?.

    Null合并运算符使结果为null时可以设置默认值。使用??

    //如果person是null,则将变量name赋值为null,否则将Name的属性值赋值给该变量。
    string name=person?.Name;
    
    //如果姓名为null时则默认姓名为张三
    string name = person?.Name ?? "张三";
    

    字符串内插

    字符串内插功能可以在字符串中嵌入表达式。使用$作为字符串的开头,并使用{}之间的表达式来计算结果。

    string name = "张三";
    string summary = $"hi,大家好,我叫:{name}..";
    

    字符串内插就是语法糖,内部实际上是使用了string.Format方法。

    nameof表达式

    nameof表达式可生成变量、类型或成员的名称作为字符串常量。

    nameof表达式在编译时进行求值,在运行时无效。

    string name = "张三";
    string summary = $"{nameof(name)}={name}";
    //output:name=张三
    

    Expression-bodied函数成员

    之前只读属性和方法都是放在一个语句块中的,现在可以改成Expression-bodied成员。

    //只读属性
    public string Name => "张三";
    //方法
    public void Hello() => Console.WriteLine("hello world");
    
  • 相关阅读:
    footer点击添加active class
    css背景图与html插入img的区别
    js实现游戏转盘抽奖
    gulp压缩css和js
    前后端分离中,gulp实现头尾等公共页面的复用 前言
    js 输入框只能输入 1-7 的数字
    java 环境变量配置
    两日期相减得到天数
    jQuery如何追加tr到table中 添加到头或者尾
    json 添加 和删除两种方法
  • 原文地址:https://www.cnblogs.com/yu_xing/p/csharp6.html
Copyright © 2011-2022 走看看