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个新的库组成。
- WPF是下一代用户界面框架;它是一场革命,而不仅仅是对Windows Forms的革新,尽管这两者可以共同存在。它跟Windows Forms是两种完全不同的模型,在本质上更倾向于组装式。Silverlight的用户界面基于WPF。
- WCF(Windows Communication Foundation)是构建面向服务的应用程序架构;它不会局限于单个协议,而是可以进行扩展,并且致力于统一现有的RPC 类的通信管道,如远程处理。
- WF(Wondows Workflow Foundation)是用于构建工作流应用程序的系统。
- 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平台。
浙公网安备 33010602011771号