C# 6的新特性

 一、C# 6的新特性,可以增加开发人员的效率。

///特性2:可以在引用命名空间是,使用静态字段
/// 官方:静态的using 声明允许调用静态方法时不使用类名
using static System.Console; 
namespace CSharp6New
{
    class Program
    {
        static void Main(string[] args)
        {
            NewAttr a = new NewAttr();
            a.arrt = "Me is a New Attr";
            ///特性3:可以使用$输入拼接字符串
            WriteLine($"attr:{a.arrt}");
            a.show();
            ///特性5:
            a?.show();  //<==> if(a!=null) a.show();
            ReadLine();
        }
    }

    public class NewAttr
    {
        /// <summary>
        /// 特性1:属性可以直接赋值,无需在声明一个私有变量
        /// 官方:自动实现的属性可以用属性初始化器来初始化
        /// </summary>
        public string arrt { get; set; } = "";
        /// <summary>
        /// 特性4:可以使用lambda表达式在函数,直接输出数据
        /// 官方:表达式体方法
        /// </summary>
        public void show() => WriteLine("使用Lambda");
        /// <summary>
        /// 特性6:
        /// 官方:表达式体属性
        /// </summary>
        public string FileName => $"Tankyou";

        //public BoolIDP { get; }
        /// <summary>
        /// 使用新的nameof,可以访问字段名、属性名、方法名或类型名。
        /// 这样在重构时,就不会遗漏名称的改变
        /// </summary>
        /// <param name="o"></param>
        public void Mehod(object o)
        {
            if (o == null) throw new ArgumentNullException(nameof(o));
            //<==> if (o == null) throw new ArgumentNullException("o");

            //int? age = o == null ? null : 5;
        }
        /// <summary>
        /// 新特性:字典初始化器
        /// </summary>
        public void DictInit()
        {
            var dia = new Dictionary<int, string>()
            {
                [2] = "a",
                [3] = "b"
            };
        }
        /// <summary>
        /// 异常过滤器
        /// </summary>
        public void ExceFilter()
        {
            try
            {
                
            }catch(MyException ex) when (ex.ErrorCode == 405)
            {
                //优势:减少了代码的长度,但没有改变堆栈的跟踪
            }
        }

    }

        public class MyException:Exception
        {
            public int ErrorCode { get; set; } = 405;
        }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fervour

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值