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}";
  • 相关阅读:
    UML类图的关系
    软工视频总结
    面向对象——(1)概述
    软件工程——整体把握
    白盒测试中的逻辑覆盖
    机房收费调试问题(二)
    机房收费调试问题(一)
    如何将ER图转换成关系模式集
    机房收费之感想与收获
    【linux】U盘安装启动出现press the enter key to begin the installation process 就不动弹了
  • 原文地址:https://www.cnblogs.com/FashionDoo/p/10532857.html
Copyright © 2011-2022 走看看