Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结

1. 版本历史 1

1.1. C# 1.0-纯粹的面向对象 2

1.2. C# 2.0-泛型编程新概念 2

1.3. C# 2.0的另一个突出的特性就是匿名方法 2

1.4. C#3.0 linq 2

1.5. C# 4.0动态编程 dynamic 2

1.6. C# 4.5 异步编程 async和await 2

1.7. C# 5.0 更方便的一步编程 2

1.8. C# 6.0 中的新特性 2

1.9. C# 6特征 (VS 2015) 2

1.10. C# 7 特征 (Visual Studio 2017) 3

1.11. C# 7.1 特征 (Visual Studio 2017 version 15.3) 4

1. 版本历史

语言版本

发布时间

.NET Framework要求

Visual Studio版本

C# 1.0

2002.1

.NET Framework 1.0

Visual Studio .NET 2002

C# 1.1\1.2

2003.4

.NET Framework 1.1

Visual Studio .NET 2003

C# 2.0

2005.11

.NET Framework 2.0

Visual Studio 2005

C# 3.0

2007.11

.NET Framework 2.0\3.0\3.5

Visual Studio 2008

C# 4.0

2010.4

.NET Framework 4.0

Visual Studio 2010

C# 5.0

2012.8

.NET Framework 4.5

Visual Studio 2012\2013

C# 6.0

2015.7

.NET Framework 4.6

Visual Studio 2015

C# 7.0

2017.3

.NET Framework 4.6.2

Visual Studio 2017

C# 7.1

2017.6

.NET Framework

Visual Studio 2017 v15.3预览版

C# 8.0

待发布

1.1. C# 1.0-纯粹的面向对象

1.2. C# 2.0-泛型编程新概念

1.3. C# 2.0的另一个突出的特性就是匿名方法

1.4. C#3.0 linq

1.5. C# 4.0动态编程 dynamic

1.6. C# 4.5 异步编程 async和await

1.7. C# 5.0 更方便的一步编程

1.7.1.1. C# 5特性 (VS 2012)

· Asynchronous methods:异步方法

· Caller info attributes:调用方信息特性,调用时访问调用者的信息

1.8. C# 6.0 中的新特性

1.9. C# 6特征 (VS 2015)

· Compiler-as-a-service (Roslyn)

· Import of static type members into namespace:支持仅导入类中的静态成员

· Exception filters:异常过滤器

· Await in catch/finally blocks:支持在catch/finally语句块使用await语句

· Auto property initializers:自动属性初始化

· Default values for getter-only properties:设置只读属性的默认值

· Expression-bodied members:支持以表达式为主体的成员方法和只读属性

· Null propagator (null-conditional operator, succinct null checking):Null条件操作符

· String interpolation:字符串插值,产生特定格式字符串的新方法

· nameof operator:nameof操作符,返回方法、属性、变量的名称

· Dictionary initializer:字典初始化

1.10. C# 7 特征 (Visual Studio 2017)

· Out variables:out变量直接声明,例如可以out in parameter

· Pattern matching:模式匹配,根据对象类型或者其它属性实现方法派发

· Tuples:元组

· Deconstruction:元组解析

· Discards:没有命名的变量,只是占位,后面代码不需要使用其值

· Local Functions:局部函数

· Binary Literals:二进制字面量

· Digit Separators:数字分隔符

· Ref returns and locals:引用返回值和局部变量

· Generalized async return types:async中使用泛型返回类型

· More expression-bodied members:允许构造器、解析器、属性可以使用表达式作为body

· Throw expressions:Throw可以在表达式中使用

1.11. C# 7.1 特征 (Visual Studio 2017 version 15.3)

· Async main:在main方法用async方式

· Default expressions:引入新的字面值default

· Reference assemblies:

· Inferred tuple element names:

· Pattern-matching with generics:

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

我们可以对这些新特性一个一个的进行讨论,而首先要列出 C# 6.0 中这些特性的一个清单

自动的属性初始化器 Auto Property Initializer

主构造器 Primary Consturctor

字典初始化器 Dictionary Initializer

声明表达式 Declaration Expression

静态的Using Static Using

catch 块中的 await

异常过滤器 Exception Filter

用于检查NULL值的条件访问操作符

2. 参考资料

Atitit.c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结 - attilax的专栏 - 博客频道 - CSDN.NET.htm

C# 6.0 的新特性 - 技术翻译 - 开源中国社区.htm

C# 5新特性详解之一——异步编程-CSDN.NET.htm

C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新) - CSDN博客.mhtml

Atitit. c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0 attilax总结 1. 版本历史 1 1.1. C# 1.0-纯粹的面向对象 2 1.2. C# 2.0相关推荐

  1. Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结

    Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结 1.1. C# 1.0-纯粹的面向对象 1.2. C# 2.0-泛型编程新概念 1.3. ...

  2. java 7.0 特性_JDK7.0语法新特性

    JDK7.0语法新特性 1,菱形语法(泛型实例化类型自动推断) List list = new ArrayList<>(); // <>这个真的很像菱形 2,在目前版本中,不可 ...

  3. Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结

    Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结 1. defer关键字1 2. try!形式存在的"不失败"机制3 3. Guard 4 4 ...

  4. C# 3.0/3.5语法新特性示例汇总[转]

    //作者:杨卫国 //时间:2008年2月21日 //说明:C#语法新特型示例 using System; using System.Collections.Generic; using System ...

  5. C# 6.0语法新特性体验(二)

    之前我在文章通过Roslyn体验C# 6.0的新语法中介绍了一些C# 6.0的语法特性,现在随着Visual Studio 14 CTP3的发布,又陆续可以体验一些新的特性了,这里简单的介绍一下之前没 ...

  6. 【JDK8语法新特性】:超全总结{lamda,stream,optional,新日期类API},JDK8对策略模式支持,可以直接贴代码运行测试。

    文章目录 Java8新特性 速度快 代码更少(增加了新的语法,lamda表达式)(主要) 强大的Stream API(主要) 便于并行 最大减少空指针异常(Optional API) 提供了线程安全的 ...

  7. C#3.0语法新特性集合

    隐式类型局部变量 C#3.0提供了一个新的关键字var,使用该关键字,编译器会根据用于初始化局部变量的初始值推断出变量的数据类型. 示例代码: using System; using System.C ...

  8. CSS/CSS3语法新特性笔记

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  9. MySQL基础~NATURAL JOIN(自然连接) 和USING的使用(SQL99语法新特性)

    文章目录 NATURAL JOIN USING 表的约束条件总结与规范 SQL99标准了解 NATURAL JOIN 我们在查询两张表时,可能会将连接条件设为相同的字段,如下: 比如我们想查询员工的i ...

  10. C++_012C++11的语法新特性

    http://www.360doc.com/content/13/0509/14/9200790_284125085.shtml 转载于:https://www.cnblogs.com/gudushi ...

最新文章

  1. Echarts之悬浮框中的数据排序
  2. ununtu20.04系统中如何划词翻译_如何高效阅读PDF外文文献,这一篇文章全搞定
  3. 【存储知识学习】第八章-Fibre Channel协议-8.1 FC网络和8.2FC协议中七种端口类型-《大话存储》阅读笔记
  4. 微信浏览器的html5页面显示配置等问题汇集 1,禁止微信浏览器分享页面链接 (定点更新)...
  5. Ansible之Playbook详解、案例
  6. Spark Streaming原理简析
  7. 算法--二分查找--求平方根(循环法/递归法)
  8. iPhone卡顿、变慢要如何解决?12 种提升手机顺畅度技巧
  9. UTM坐标和WGS84坐标转换
  10. macOS录制系统声音及麦克风的三种方法
  11. Excel怎么批量将各数据复制填充指定次数
  12. git提交,安装配置 commitizen cz-conventional-emoji $git cz代替$git commit
  13. Win10开始菜单打不开
  14. Mysql 子查询 (查询语句中带查询语句)
  15. python里的log怎么表示_python中的对数log函数表示及用法
  16. zookeeper数据迁移
  17. Laya魅族手动关闭banner广告之后打不开
  18. 前端学习-使用JS库Leaflet.js生成世界地图并获取标注地址经纬度。
  19. 投影坐标方差车牌垂直校正matlab实现,基于投影坐标p次方差及粒子群的车牌倾斜检测...
  20. python之不同公司不同年份同一财务指标比较(柱状图)

热门文章

  1. thinkphppaginate.php,thinkphp如何使用paginate及其参数示例使用
  2. python3读取多行数据合并_python3 数据规整化:清理、转换、合并、重塑(一)
  3. C++中typedef void(*F)(类型)解读
  4. Mybatis之使用注解开发CRUD
  5. Tomcat的工作模式
  6. 微软社区大课堂 - Transform the Datacenter (数据迁移与Windows Server )社区巡讲- 北京站...
  7. windows下批量更改文件名
  8. 如何使用U盘制作Windows 7安装盘
  9. rabbitmq4-工作队列及公平分发模式
  10. C# 语法一 构造函数