所有的资料都是摘自 C# 入门经典(第三版)
一 什么是 .Net Framework
.Net Framework 是 Microsoft 为开发应用程序创建的一个富有苦命性的新平台。
可以创建 Windows 应用程序,Web 应用程序,Web 服务和其它各种类型的应用程序。
二 .Net Framework 的内容
.Net Framework 主要包含一个非常大的代码库,可以在客户语言如C# 中通过面向对象编程技术来使用这些代码。这个库分为不同的模块,这样就可以根据希望得到的结果来选择使用其中的各个部分,例如,一个模块包含 Windows 应用程序的构件,另一个模块包含联网的代码,还一个模块包含 Web 开发的代码块,一些模块还分为更具体的子模块,例如在 Web 开发模块中,有用于建立 Web 服务的子模块。
除了支持这个库外,.Net Framework 还包含 .Net 公共语言运行库(Common Lanuage Runtime CRL),它负责管理用 .Net 库开发的所有应用程序的执行。
三 如何用 .Net Framework 编写应用程序
使用 .Net Framewok 编写应用程序,就是使用 .net 代码库编写代码(使用支持 Framework的任何一种语言)。
四 MSIL 和 JIT
在编译使用 .net Framework 库的代码时,不是立即创建操作系统特定的本机代码,而是把代码编译为 Microsoft 中间语言(Microsoft Intermediiate Language, MSIL)代码,这结代码不专用于任何一种操作系统,也不专用于C#。
显然,要执行应用程序,必须完成更多的工作,这是 Jusu-In-Time(JIT) 编译器的任务,它把MSIL编译为专用于OS和目标机器结构的本机代码,这样OS才能执行应用程序。这里编译器的名称 Just-In-Time 反映了MSIL 仅在需要时才编译的事实。
五 程序集
在编译应用程序时,所创建的MSIL代码存储在一个程序中,程序集包含可执行的应用程序文件(这些文件可以直接在windows上运行,不需要其它程序,其扩展名是.exe)和其化应用程序使用的库(其扩展名是.dll)。
除了包含MSIL外,程序庥还包含元信息(即程序集中包含的数据的信息,也称为元数据)和可选的资源(MSIL使用的其它数据,例如声音文件和图片)。元信息允许程序集是完全自我描述的,不需要其他信息就可以使用程序集,也就是说,我们不会遇到,不能把需要的添加到系统注册表中,而这种情形在使用其他平台进行开发时常常出现。
六 托管代码
在把代码编译为MSIL,再用JIT编译器把它编译为本机代码后,CLR的任务还没有全部完成,用.net framework 编写的代码在执行时是托管的。即CLR管理着应用程序,其方式是管理内存,处理安全性,以及允许进行跨语言调试等。相反,不在CLR控制之下运行的应用是非托管的,某些语言如C++可以用于编写这类应用程序,例如,访问操作系统的低级功能,但是在C#中,只能编写在托管环境一运行的代码。我们将使用CLR托管功能,让.net 自己与操作系统进行交互。
七 垃圾回收
托管代码最重要的一个功能是垃圾回收,这种 .net 方法可以 确保应用程序不再使用某些内存时,这些内存就会被完全释放。
八 什么是C#
C#是可以用于创建要运行在 .net CLR 上的应用程序语言之一,它从C和C++ 语言深化而来,是 Microsoft 专门为使用 .net 平台而创建,因为C# 是近期发展起来的,所以吸收了以前的教训,考虑了其他语言的许多优点,并解决它们的问题。