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
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相关推荐
- 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. ...
- java 7.0 特性_JDK7.0语法新特性
JDK7.0语法新特性 1,菱形语法(泛型实例化类型自动推断) List list = new ArrayList<>(); // <>这个真的很像菱形 2,在目前版本中,不可 ...
- Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结
Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结 1. defer关键字1 2. try!形式存在的"不失败"机制3 3. Guard 4 4 ...
- C# 3.0/3.5语法新特性示例汇总[转]
//作者:杨卫国 //时间:2008年2月21日 //说明:C#语法新特型示例 using System; using System.Collections.Generic; using System ...
- C# 6.0语法新特性体验(二)
之前我在文章通过Roslyn体验C# 6.0的新语法中介绍了一些C# 6.0的语法特性,现在随着Visual Studio 14 CTP3的发布,又陆续可以体验一些新的特性了,这里简单的介绍一下之前没 ...
- 【JDK8语法新特性】:超全总结{lamda,stream,optional,新日期类API},JDK8对策略模式支持,可以直接贴代码运行测试。
文章目录 Java8新特性 速度快 代码更少(增加了新的语法,lamda表达式)(主要) 强大的Stream API(主要) 便于并行 最大减少空指针异常(Optional API) 提供了线程安全的 ...
- C#3.0语法新特性集合
隐式类型局部变量 C#3.0提供了一个新的关键字var,使用该关键字,编译器会根据用于初始化局部变量的初始值推断出变量的数据类型. 示例代码: using System; using System.C ...
- CSS/CSS3语法新特性笔记
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...
- MySQL基础~NATURAL JOIN(自然连接) 和USING的使用(SQL99语法新特性)
文章目录 NATURAL JOIN USING 表的约束条件总结与规范 SQL99标准了解 NATURAL JOIN 我们在查询两张表时,可能会将连接条件设为相同的字段,如下: 比如我们想查询员工的i ...
- C++_012C++11的语法新特性
http://www.360doc.com/content/13/0509/14/9200790_284125085.shtml 转载于:https://www.cnblogs.com/gudushi ...
最新文章
- Echarts之悬浮框中的数据排序
- ununtu20.04系统中如何划词翻译_如何高效阅读PDF外文文献,这一篇文章全搞定
- 【存储知识学习】第八章-Fibre Channel协议-8.1 FC网络和8.2FC协议中七种端口类型-《大话存储》阅读笔记
- 微信浏览器的html5页面显示配置等问题汇集 1,禁止微信浏览器分享页面链接 (定点更新)...
- Ansible之Playbook详解、案例
- Spark Streaming原理简析
- 算法--二分查找--求平方根(循环法/递归法)
- iPhone卡顿、变慢要如何解决?12 种提升手机顺畅度技巧
- UTM坐标和WGS84坐标转换
- macOS录制系统声音及麦克风的三种方法
- Excel怎么批量将各数据复制填充指定次数
- git提交,安装配置 commitizen cz-conventional-emoji $git cz代替$git commit
- Win10开始菜单打不开
- Mysql 子查询 (查询语句中带查询语句)
- python里的log怎么表示_python中的对数log函数表示及用法
- zookeeper数据迁移
- Laya魅族手动关闭banner广告之后打不开
- 前端学习-使用JS库Leaflet.js生成世界地图并获取标注地址经纬度。
- 投影坐标方差车牌垂直校正matlab实现,基于投影坐标p次方差及粒子群的车牌倾斜检测...
- python之不同公司不同年份同一财务指标比较(柱状图)
热门文章
- thinkphppaginate.php,thinkphp如何使用paginate及其参数示例使用
- python3读取多行数据合并_python3 数据规整化:清理、转换、合并、重塑(一)
- C++中typedef void(*F)(类型)解读
- Mybatis之使用注解开发CRUD
- Tomcat的工作模式
- 微软社区大课堂 - Transform the Datacenter (数据迁移与Windows Server )社区巡讲- 北京站...
- windows下批量更改文件名
- 如何使用U盘制作Windows 7安装盘
- rabbitmq4-工作队列及公平分发模式
- C# 语法一 构造函数