C#的那些事---01:简介

1.C#与.net的关系

C#是一种独立的语言,它是用于生成面向.NET环境的代码,感觉说了等于没说。但它本身不是.net的一部分。.net支持的一些特性,C#并不支持。而C#语言支持的另一些特性,.net却不支持。C#语言是和.NET一起使用的,所以如果要使用C#高效地开发应用程序,理解Framework就非常重要.

2.CLR, IL, JIT

.Net的核心是公共语言运行库,简称为CLR。

首先C#code会编译成一种中间语言--IL,特点:

1、面向对象、接口支持

2、强数据类型化

3、区分应用和值类型

优点:

1、跨平台、性能优化

编译成IL后,当这段code被调用时,会通过JIT(即时编译)的方式,生成本地机器相关的可执行码。可以根据不同的硬件做相应的优化,实现性能优化。

2、语言互操作性

因为IL的强数据类型话,即每个变量的数据类型是确定的。所以.net中使用CTS(通用类型系统)、CLS(公共语言规范)来对应不同的语言的数据类型。

3、垃圾回收

4、应用程序域

5、程序集