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 异步编程 asyncawait 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 异步编程 asyncawait

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.0C# 7.1汇总更新) - CSDN博客.mhtml

posted @ 2018-02-08 20:59  attilaxAti  阅读(31)  评论(0编辑  收藏  举报