zoukankan      html  css  js  c++  java
  • c# 6.0 新增功能

    • 设置只读属性

    • 语法如下
    //设置只读的属性
    public string FirstName { get; }
    public string LastName { get; }
    • 只读属性只能在构造函数中设置
    public Person(string firstName, string lastName)
    {
          FirstName = firstName;
          LastName = lastName;
    }

    属性初始化表达式

    • 属性可以设置初始值
    public string FirstName { get; } = "";

    Expression-bodied 函数成员

    • expression-bodied 成员适用于方法和只读属性
    //方法
    public override string ToString() => $"{FirstName},{LastName}";
    //只读属性
    public string FullName => $"{FirstName},{LastName}";
    

    using static

    比如我们输出一个Hello World的时候

    Console.WriteLine("hello world");

    有了using static

    我们可以

    using System;
    using static System.Console;
    namespace test
    {
        public class Program
        {
            static void Main(string[] args)
            {
                WriteLine("hello world");
            }
        }
    }

    貌似没鸡毛暖用,就是看起来清爽一丢丢

    Null 条件运算符

    • Null 条件运算符使 null 检查更轻松、更流畅
    Person p =null;
    var R = p?.FirstName;//R=null

    当p为null的时候返回null,当p不为null的时候返回FirstName,还可以用在方法的调用上,this.SomethingHappened?.Invoke(this, eventArgs);

    • 分配默认值
    Person p = null;
    var R = p?.FirstName ?? "Unspecified";

    当p为null的时候返回后边字符串,不为空的时候返回FirstName  

    字符串内插

    使用 $ 作为字符串的开头,并使用 { 和 } 之间的表达式代替序号:

    public string GetGradePointPercentage() =>
        $"Name: {LastName}, {FirstName}. G.P.A: {Grades.Average():F2}";
  • 相关阅读:
    maven+spark2.0.0最大连通分量
    Eclipse+maven+scala2.11.8+spark2.0.0的环境部署
    杀死mapreduce
    filter-自己的理解
    JS变量声明提升
    js==运算符强制转换规则
    html 文字间距
    如你所见,我开始用微博
    vue数据模拟
    vue项目目录介绍
  • 原文地址:https://www.cnblogs.com/FashionDoo/p/10532857.html
Copyright © 2011-2022 走看看