C# in Depth (3rd Edition) -- 【附录】附录C 版本总结(学习笔记)

C.1  桌面框架的主版本

表C-1  桌面框架版本及其组件

日期

框架

VisualStudio

C#

CLR

2002年2月

2003年4月

2005年11月

2006年11月

2007年11月

2010年4月

2012年8月

1.0

1.1

2.0

3.0

3.5

4

4.5

2002

2003

2005

2005扩展

2008

2010

2012

1.0

1.2

2.0

n/a

3.0

4.0

5.0

1.0

1.1

2.0

2.0

2.0SP1

4.0(无3.0版本)

4.0或4.5

C.2  C#语言特性

C.2.1  C# 2.0

C# 2 的主要特性是泛型(参见第3章)、可空类(第4章)、匿名方法及其他有关委托的增强(第5章)和迭代器块(第6章)。此外还包含一些小特性:分部类型、静态类、包含不同访问修饰符的属性的取值方法和赋值方法、命名空间别名、pragma 指令以及固定大小的缓冲器,详细内容参见第7章。 

C.2.2  C# 3.0

C# 3为LINQ而生,尽管很多特性在其他地方也很有用。自动属性、数组和局部变量的隐式类型、对象和集合的初始化程序以及匿名类型都在第8章中进行了介绍。Lambda表达式和表达式树(第9章)延伸了2.0中对委托所做的进展,扩展方法(第10 章)构成了查询表达式(第11 章)的最后一块拼图。分部方法仅出现在C# 3 中,在第7章讲述分部类型时进行了介绍。

C.2.3  C# 4.0

C# 4中的特性旨在提高互操作性,但它不像C# 3.0 那样一门心思为了LINQ。同样,对第13章的一些小特性(命名实参、可选参数、更好的COM交互、泛型可变性)和动态类型这个大特性(第14 章)进行了相当清晰的划分。

C.2.4  C#5.0

第15 章和第16 章分别介绍了C# 5.0 的异步特性和两个小特性(foreach变量捕获的变化和调用者信息特性)。尽管异步特性只引入了一个新的表达,即async函数中的await ,但却在很大程度上改变了执行模型。尽管C#团队做好了发布其他大型语言特性的准备(据我所知确实如此),我还是认为暂缓发布是个明智之举。重点在于C#社区要谨慎面对async/await ,而这需要时间。

C.3  框架库的特性

What's new in the .NET Framework

C.3.1  .NET 2.0

2.0库所支持的CLR 和语言最重要的特性是泛型和可空类型。

ASP.NET 新增了母版页、预编译功能以及很多新的控件。.NET 2.0 引入的BackgroundWorker 可以在多线程应用程序中轻松安全地更新UI.

C.3.2  NET 3.0

.NET 3.0 有点奇特,因为它是一个在CLR 、语言和已有库方面都没有改变的“主”版本,而是由4个新的库组成。

  1. WPF是下一代用户界面框架;它是一场革命,而不仅仅是对Windows Forms的革新,尽管这两者可以共同存在。它跟Windows Forms是两种完全不同的模型,在本质上更倾向于组装式。Silverlight的用户界面基于WPF。
  2. WCF(Windows Communication Foundation)是构建面向服务的应用程序架构;它不会局限于单个协议,而是可以进行扩展,并且致力于统一现有的RPC 类的通信管道,如远程处理。
  3. WF(Wondows Workflow Foundation)是用于构建工作流应用程序的系统。
  4. Windows CardSpace是一个安全识别系统。

C.3.3  .NET 3.5

.NET 3.5 中最大的新特性是C# 3.0 和VB 9所支持的LINQ。它包括LINQ to Objects 、LINQ to SQL 、LINQ to XML 以及提供底层支持的表达式树。

C.3.4  .NET 4.0

DLR 是一个重要的部分

C.3.5  .NET 4.5

驱动.NET 4.5 变化的最大动力自然是异步。

C.4  运行时(CLR)特性

C.4.1  CLR 2.0

除了泛型,CLR 还要作一处修改,以支持C# 2的新语言特性:即对第4 章中介绍的可空值类型提供装箱和拆箱行为。

C.4.2  CLR 4.0

  • 改进了互操作封送性能和一致性的IL Stubs Everywhere
  • 取代CLR 2.0中并发回收器的后台垃圾回收器。
  • 替代CAS (Code Access Security ),基于透明度概念且更加完善的安全模型。
  • 用于支持C# 4 内嵌PIA 特性的类型等价。 
  • 在同一进程内同时执行不同的CLR 。 

http://blogs.msdn.com/b/dotnet

C.5  相关框架

C.5.1  精简框架

精简框架(Compact Framework)最初的目的是用于运行Windows Mobile的移动设备。

C.5.2  Silverlight

Microsoft Silverlight是一个跨浏览器的、跨平台的插件,为网络带来下一代基于.NETFramework的媒体体验和丰富的交互式应用程序。

主要目的是在浏览器或沙盒环境中( Silverlight 3)运行应用程序,它通常先通过浏览器进行安装。就此来说,它是Flash的天然竞争者;

C.5.3  微框架

微框架(Micro Framework)是.NET的一个十分微小的实现,可运行于受限的设备上。

C.5.4  Windows Runtime (WinRT)

WinRT 并不是.NET的另一个版本,而是Windows 8引入的全新Windows平台。

posted @ 2019-10-20 01:20  FH1004322  阅读(199)  评论(0)    收藏  举报