CSharp6.0 / C#6.0新语法【部分】

namespace CSharp6._0
{
    public class EmployeeInfo
    {
        /// <summary>
        /// 只读属性只能通过构造函数赋值
        /// </summary>
        /// <param name="name"></param>
        /// <param name="age"></param>
        public EmployeeInfo(string name, int age)
        {
            Name = name;
            Age = age;
        }

        public string Name { get; }

        public int Age { get; }

        public override string ToString() => $"{Name}+{Age}";
    }
}

  

using System;

namespace CSharp6._0
{
    public class StaticClass
    {
        public static void TestMethod() {
            Console.WriteLine("using static");
        }

        public static string TestException(string name)
        {
            try
            {
                throw new Exception(name);
            }
            catch (Exception ex) when (ex.Message.Contains("张三"))
            {
                return "异常筛查";
            }
        }
    }
}

  

using System;
using System.Collections.Generic;
using static CSharp6._0.StaticClass;

namespace CSharp6._0
{
    class Program
    {
        static void Main(string[] args)
        {
            //只读自动属性
            EmployeeInfo employeeInfo = new EmployeeInfo("张三", 29);
            Console.WriteLine(employeeInfo.Name);

            //using static
            StaticClass.TestMethod();//以前的调用方式
            TestMethod();

            //Null条件与算符
            EmployeeInfo employeeInfo1 = null;
            string name = employeeInfo1?.Name;//当类不为null时读取Name属性
            Console.WriteLine(name);
            employeeInfo1 = new EmployeeInfo(null, 29);
            name = employeeInfo1?.Name ?? "测试";//当类的属性为null时,赋值“测试”
            Console.WriteLine(name);

            //字符串内插
            string str1 = "张三";
            string str2 = $"{{{str1}}}属于内插字符串";
            Console.WriteLine(str2);

            //异常筛选器
            string str = TestException("张三");
            Console.WriteLine(str);

            //nameof表达式
            string className = nameof(StaticClass);
            Console.WriteLine(className);//StaticClass

            //使用索引器初始化关联集合
            Dictionary<int, string> pairs = new Dictionary<int, string> {
                {200, "成功" },
                {500, "系统错误" }
            };
            Console.WriteLine(pairs[200]);
        }
    }
}

  

posted @ 2021-01-18 22:56  gygtech  Views(193)  Comments(0Edit  收藏  举报