C#的介绍
C#是一种面向对象的、运行于.net框架上的一种高级程序设计语言。
它的优点在于简单,类型安全,垃圾回收器自动回收内存,封装了许多常用的类,适合快速开发。
它的缺点在于依赖.net框架,跨平台支持有限,过度封装导致无法了解具体的内部细节,不适合对性能要求较高的项目。
.net框介绍
.NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。
主要分为这五部份组成
公共语言运行库(CLR)
NET框架应用程序的管理引擎,上至编译下到运行以及与操作系统交互,全部由CLR负责。
基类库(BCL)
一套底层类库集,包含了开发过程中使用到的常用类库。比如MFC类库,JAVA类库,VB类库,输入/输出、字符串及数据类等等。
ADO.NET&XML
代替ADO的一种新的数据框架,满足了ADO无法满足的三个重要需求:提供了断开的数据访问模型,
这对Web环境至关重要;提供了与XML的紧密集成;还提供了与.NET框架的无缝集成.
ASP.NET WEB窗体 WEB服务
基于ASP.NET的面向Web的网络应用程序的模板
Windows窗体
基于Windows窗口应用程序的模板
托管代码:
运行需要.net框架支持的应用程序
源代码编译出来的是中间代码,运行时需要通过JIT编译器把中间代码解释成本机代码,然后才能与系统进行交互。
代码中可以方便的使用.net基类库的一些常用类。
在程序运行过程中实例化的对象存储在托管堆中,当不再使用时,由垃圾回收器定时自动回收内存。
非托管代码:
运行不需要.net框架支持的应用程序
编译出来的是本机代码,可以直接与系统进行交互。
在程序运行过程中实例化的对象存储在堆中,当不再使用时,需要编写代码进行内存回收,否则会造成内存垃圾持续增加。
![](https://images.cnblogs.com/cnblogs_com/fzxiaoyi/1163792/o_1368.jpg)