主页»ASP.NET»C# 言语前史版别特性(C# 1.0到C# 8.0汇总)

C# 言语前史版别特性(C# 1.0到C# 8.0汇总)

来历:Mzhangyl 发布时刻:2018-05-28 阅览次数:

前史版别

C#作为微软2000年今后.NET渠道开发的当家言语,开展至今具有17年的前史,言语自身具有丰厚的特性,微软对其更新支撑也非常支撑。微软将C#提交给标准安排ECMA,C# 5.0现在是ECMA发布的最新标准,C# 6.0仍是草案阶段,C# 7.1是微软当时供给的最新标准。

这儿仅仅列个提纲,因为C# 5.0是具有ECMA标准标准的版别,所以挑选C# 5.0作为首要版别学习,并专题学习C# 6.0,7.0版别新特性。

C#言语标准GitHub库拜见:https://github.com/dotnet/csharplang

C#言语路线图及开发中的特性拜见: 
https://github.com/dotnet/roslyn/blob/master/docs/Language%20Feature%20Status.md

言语版别 发布时刻 .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 待发布  .NET Framework 4.7.1  Visual Studio 2017 v15.7

C# 1.0 特性

第1个版别,编程言语最根底的特性。

  • Classes:面向目标特性,支撑类类型
  • Structs:结构
  • Interfaces:接口
  • Events:工作
  • Properties:特点,类的成员,供给拜访字段的灵敏办法
  • Delegates:托付,一种引证类型,表明对具有特定参数列表和回来类型的办法的引证
  • Expressions,Statements,Operators:表达式、句子、操作符
  • Attributes:特性,为程序代码添加元数据或声明性信息,运行时,经过反射能够拜访特性信息
  • Literals:字面值(或理解为常量值),差反常量,常量是和变量相对的

C# 2特性 (VS 2005)

  • Generics:泛型
  • Partial types:分部类型,能够将类、结构、接口等类型界说拆分到多个文件中
  • Anonymous methods:匿名办法
  • Iterators:迭代器
  • Nullable types:能够为Null的类型,该类能够是其它值或许null
  • Getter/setter separate accessibility:特点拜访操控
  • Method group conversions (delegates):办法组转化,能够将声明托付代表一组办法,隐式调用
  • Co- and Contra-variance for delegates and interfaces:托付、接口的协变和逆变
  • Static classes:静态类
  • Delegate inference:托付揣度,答应将办法名直接赋给托付变量

C# 3特性 (VS 2008)

  • Implicitly typed local variables:
  • Object and collection initializers:目标和调集初始化器
  • Auto-Implemented properties:主动特点,主动生成特点办法,声明更简练
  • Anonymous types:匿名类型
  • Extension methods:扩展办法
  • Query expressions:查询表达式
  • Lambda expression:Lambda表达式
  • Expression trees:表达式树,以树形数据结构表明代码,是一种新数据类型
  • Partial methods:部分办法

C# 4特性 (VS 2010)

  • Dynamic binding:动态绑定
  • Named and optional arguments:命名参数和可选参数
  • Generic co- and contravariance:泛型的协变和逆变
  • Embedded interop types (“NoPIA”):敞开嵌入类型信息,添加引证COM组件程序的中立性

C# 5特性 (VS 2012)

  • Asynchronous methods:异步办法
  • Caller info attributes:调用方信息特性,调用时拜访调用者的信息

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:字典初始化

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能够在表达式中运用

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:

C# 8.0 特征 (Visual Studio 2017 version 15.7) 

  • Default Interface Methods 缺省接口完成
  • Nullable reference type NullableReferenceTypes  非空和可控的数据类型
  • Recursive patterns 递归形式
  • Async streams  异步数据流
  • Caller expression attribute 调用办法表达式特点
  • Target-typed new
  • Generic attributes 通用特点
  • Ranges
  • Default in deconstruction
  • Relax ordering of ref and partial modifiers
QQ群:凯发娱乐官网官方群(515171538),验证音讯:10000
微信群:加小编微信 849023636 邀请您参加,验证音讯:10000
提示:更多精彩内容重视微信大众号:全栈开发者中心(fsder-com)
C#
m88 188bet uedbet 威廉希尔 明升 bwin 明升88 bodog bwin 明升m88.com 18luck 188bet unibet unibet Ladbrokes Ladbrokes casino m88明升 明升 明升 m88.com 188bet m88 明陞 uedbet赫塔菲官网 365bet官网 m88 help
网友谈论(共0条谈论) 正在载入谈论......
沉着谈论文明上网,回绝歹意咒骂 宣布谈论 / 共0条谈论
登录会员中心