C#简介-什么是.NET Framework

    .NET Framework是microsoft为开发应用程序而创建的一个富有革命性的新平台。

    尽管.NET Framework现在的版本要运行在woindows操作系统上,但一位将推出运行在其他操作系统上的版本,例如mono,包括各种linux版本合mac OS。另外还可以在个人数字助手(PDA)类设备合一些智能电话上使用。

    .NET Framework可以创建windows应用程序、web应用程序、web服务合其他各种类型的应用程序。

    .NET Framework的设计方式保证它可以使用各种语言,C++/vb/j#/甚至一些旧的语言等。当然重点还是我们的C#,毕竟它是microsoft专门为.NET Framework设计的程序设计语言。

    为了执行C#代码,必须把它们转换为操作系统能够理解的语言,即本机代码,这种转换的过程称为编译代码,由编译器执行。在.NET Framework下分为两个阶段。

    首先,在编译使用.NET Framework库的代码时,不是立即创建操作系统特定的本机代码,而是把代码编译为Microsoft中间语言(Microsoft Intermediate Language,MSIL)代码,这些代码是可以跨平台的。

    显然,要执行应用程序这些是不够的,还需要进行二次编译。就是刚上述说的MSIL中间代码编译为用于OS和目标及其结构的本机代码。这样OS才能执行应用程序。

    程序集

    在编译应用程序时,所创建的MSIL代码被存储在一个程序集中,程序集包括可执行的应用程序文件(这些文件可以在windows上运行,不需要其他程序,扩展名是.exe)和其他应用程序使用的库(其扩展名是.dll)。

    除了包含MSIL外,程序集还包含元信息(即程序集中包含的数据的信息,也称为元数据)和可选的资源(MSIL使用的其他数据,例如声音文件和图片)。元信息可以把需要的数据添加到系统注册表中,而这种情形在使用其他平台进行开发时常常不能够实现。

    托管代码

    在把代码编译为MSIL,再用编译器把它编译为本机代码后,CLR(公共语言运行库)的任务还没有完全完成。用.NET Framework编写的代码在运行(runtime)是托管的。即CLR会管理这应用程序的内存、处理安全性、允许进行跨语言调试等。

    垃圾回收

    托管代码最重要的一个功能是垃圾回收(garbage collection)。这可以确保应用程序不再使用某些内存时,这些内存就会被完全释放。不像与以前,这项工作主要由程序员负责,代码中的几个简单错误就会把大块内存分配到错误的地方,使这些内存神秘失踪。这通常让计算机的速度逐渐变慢,甚至导致系统崩溃。

    这里需要注意的事,因为这项工作在不可预知的时间进行,所以在设计应用程序时,必须记得要进行这样的检查。毕竟它没有很人性化,需要许多内存才能运行的代码应自己执行这样的检查,而不是坐等垃圾回收,呵呵。

    把它们组合在一起

    在继续学习之前,先总结一下上述创建.NET应用程序所需要的步骤:

    1、使用某种.NET兼容语言(如C#)编写好应用程序代码。

    2、把代码编译为MSIL(中间语言),并存储在程序集中。

    3、执行代码,将MSIL编译为本机代码。

    4、在托管的CLR环境下运行本机代码,执行应用程序。

posted @ 2009-02-26 12:42    阅读(1064)  评论(0编辑  收藏  举报