在.NET平台用C#这么久,自然会发现其版本很多,相应的概念也会很多,常常都是萌萌哒。而在实际工作中经常会遇到需要配置dll版本号,公钥token等场景,因而对C#、NET、CLR、框架类型等基础概念有个大略的了解有很大必要性。当涉及到程序集版本时,注意查看全局程序集缓存GAC(Global Assembly Cache),路径为c:\windows\assembly,还有几个相似的.net framework路径,同时可以使用IL Disassembler (x64)查看DLL中所引用的外部库信息。

  • C#特性一览

C#1.0,foreach循环支持自动Dispose等小特性。

C#2.0,主要特性包括泛型、可空类型、匿名方法与委托的增强、迭代块。小特性有分部类型、静态类、包含不同访问修饰符的取值和赋值方法、命名空间别名、pragma指令以及固定大小的缓冲器。

C#3.0,主要特性就是LINQ了,包括:Lambda表达式、表达式树、扩展方法。其他特性包括:自动属性、数组和局部变量的隐式类型、对象和集合的初始化程序、匿名类型。

C#4.0,主要集中于提高互操作性的动态类型。小特性包括命名实参、可选参数、更好的COM交互性、泛型可变性。

C#5.0,主要特性是新的异步操作模型async, await。小特性包括forreach变量捕获的变化和调用者信息特性。

  • 框架库特性一览

NET 2.0,ASP.NET添加母版页、预编译功能;WinForm添加TableLayoutPanel等布局类;通过双缓存、新的数据绑定模型、ClickOne部署增强性能;BackgroudWorker用于在多线程应用程序中更新UI。

NET 3.0,提供了四个大库:WPF、WCF、WF、Windows CardSpace安全识别系统

NET 3.5,支持LINQ,包括LINQ to Objects、LINQ to SQL、LINQ to XML,以及表达式树。其他特性包括System.AddIn框架、新增各种加密算法、Client Profile用于客户端精简部署、Entity Framework。

NET 4.0,微调核心API,如String.Join()、增加泛型接口和委托的协变性和逆变性、增加System.Numeric用于数值运算、用于延迟的初始值的Lazy<T>、Pair和Tuple泛型类家族等、MEF(Managed Extensibility Framework)可扩展性框架等。

NET 4.5,异步操作和TPL并行库。

  • 运行时(CLR)特性

CLR 2.0:支持64位处理器,以及SQL SERVER中承载CLR的功能,这点其实就是CLR也支持类似于JVM的配置功能,包括内存和线程的细粒度管理。

CLR 4.0:改进了互操作封装性能、一致性IL Stubs Everywhere即IL的一致性、提供更加完善的安全模型、支持同一进程同时执行不同CLR,但最主要确实对程序员透明的垃圾回收。

  • 框架模型(经常在安装删除文件是发现很多的Compact Framework,还挺困扰的)

桌面框架:客户端配置(Client profile)、32位&64位JIT、服务器&工作站版本。

精简框架(Compact Framework):运行与Xbox、WinPhone,垃圾回收机制相对简单(不是分代式)。

微框架(Micro Framework):是解释型而非JIT编译,是开源的。

Windows Runtime(WinRT):是Win8引入的新平台,以跨平台的目的创建。

TIP:此部分内容主要作为作为知识点复习浏览所用,只要有个映象就足够了,其中的MEF很像Spring的解耦,动态的查找接口的实现类。

快速入门系列--CLR--01基本概念的更多相关文章

  1. 快速入门系列--MVC--01概述

    虽然使用MVC已经不少年,相关技术的学习进行了多次,但是很多技术思路的理解其实都不够深入.其实就在MVC框架中有很多设计模式和设计思路的体现,例如DependencyResolver类就包含我们常见的 ...

  2. 快速入门系列--WebAPI--01基础

    ASP.NET MVC和WebAPI已经是.NET Web部分的主流,刚开始时两个公用同一个管道,之后为了更加的轻量化(WebAPI是对WCF Restful的轻量化),WebAPI使用了新的管道,因 ...

  3. 快速入门系列--WebAPI--03框架你值得拥有

    接下来进入的是俺在ASP.NET学习中最重要的WebAPI部分,在现在流行的互联网场景下,WebAPI可以和HTML5.单页应用程序SPA等技术和理念很好的结合在一起.所谓ASP.NET WebAPI ...

  4. 快速入门系列--MVC--07与HTML5移动开发的结合

    现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码可以兼容不同的物理终端设备和浏览器,极大的提高了 ...

  5. WPF快速入门系列(1)——WPF布局概览

    一.引言 关于WPF早在一年前就已经看过<深入浅出WPF>这本书,当时看完之后由于没有做笔记,以至于我现在又重新捡起来并记录下学习的过程,本系列将是一个WPF快速入门系列,主要介绍WPF中 ...

  6. [转]快速入门系列--WebAPI--01基础

    本文转自:http://www.cnblogs.com/wanliwang01/p/aspnet_webapi_base01.html ASP.NET MVC和WebAPI已经是.NET Web部分的 ...

  7. vue 快速入门 系列 —— vue 的基础应用(上)

    其他章节请看: vue 快速入门 系列 vue 的基础应用(上) Tip: vue 的基础应用分上下两篇,上篇是基础,下篇是应用. 在初步认识 vue一文中,我们已经写了一个 vue 的 hello- ...

  8. vue 快速入门 系列 —— vue 的基础应用(下)

    其他章节请看: vue 快速入门 系列 vue 的基础应用(下) 上篇聚焦于基础知识的介绍:本篇聚焦于基础知识的应用. 递归组件 组件是可以在它们自己的模板中调用自身的.不过它们只能通过 name 选 ...

  9. vue 快速入门 系列 —— vue-cli 下

    其他章节请看: vue 快速入门 系列 Vue CLI 4.x 下 在 vue loader 一文中我们已经学会从零搭建一个简单的,用于单文件组件开发的脚手架:本篇,我们将全面学习 vue-cli 这 ...

  10. vue 快速入门 系列 —— Vue(自身) 项目结构

    其他章节请看: vue 快速入门 系列 Vue(自身) 项目结构 前面我们已经陆续研究了 vue 的核心原理:数据侦测.模板和虚拟 DOM,都是偏底层的.本篇将和大家一起来看一下 vue 自身这个项目 ...

随机推荐

  1. Cookie的设置与获取

  2. 个人博客作业week3——案例分析

    1.调研 & 评测 1.我的用户体验 win10应用版: Bug1:例句经过翻译与其给出的译文相差太多 上图是应用给出的每日一句及其译文. 将其复制入翻译,就可以看出翻译过后的句子一点也不通顺 ...

  3. vim : 依赖: vim-common (= 2:7.3.429-2ubuntu2.1) 但是

    Ubuntu 12.10 安装vim出错[日期:2013-01-18] 来源:Linux社区 作者:Cubernet [字体:大 中 小] 在Ubuntu 12.10中安装vim时出现了如下提示:正在 ...

  4. Android多线程

    final Handler handler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { ...

  5. Android--多媒体操作

    ---恢复内容开始--- 1.拍照,这里直接上代码,看注释就好 public void onCreate(Bundle savedInstanceState) { super.onCreate(sav ...

  6. wp学习计划!

    对wp兴趣很大,可真正学习时,目的性就很不明确了,其实这有两大问题阻碍着,一是自身的基础还不够扎实,二是学习资料不好找,前者只能慢慢积累,而后者却是可以改变的,现在我的主阵营是channel 9上的w ...

  7. WIN8应用隐私声明

    隐私权声明 本应用连接网络仅为控制硬件设备,不会收集你的个人信息,也不共享你个个人信息. 应用名称 雅典娜移动客户端 关于本应用 本应仅为控制设备应用,不关注任何配置相关信息,所有数据均来自服务器端. ...

  8. Scala.js v0.1 发布,在浏览器直接运行 Scala

    今天我们发布了 Scala.js 的首个版本,这个项目是在今年六月份的时候宣布的. 第一个版本支持的特性: 支持所有 Scala 特性,包括宏,不过有一些 语义上的区别 可非常好的跟 JavaScri ...

  9. 收录.NET跨平台及跨数据库的博文...

    本帖,将持续收录.NET跨平台及跨数据库的博文... VS2012+EF6+Mysql配置心路历程: http://www.cnblogs.com/gameman/p/3773240.html ASP ...

  10. Couchbase N1QL

    Couchbase的 N1QL已经DP4了,在官方的文档中,Select * From like-table 这个like-table实际上指的是Couchbase中Bucket,那么对于早起版本Co ...