【C#】赖以生存的土壤--.NET Framework

来源:互联网 发布:新古典后现代家具 知乎 编辑:程序博客网 时间:2024/05/01 15:13

看题目的文章就能很清楚的知道.NET Framework是C#生存的土壤,没有它C#就无法正常的运行,记得第一次安装VS的时候,师父就给了我一个.NET Framework安装包说如果运行出现问题的话就安上,当时还不是很了解,虽然现在也不是太懂,但是略懂一点了。现在就来分几部分说一下。

        

         一、.NET Farmework简介

          NET Framework是由微软开发,一个致力于敏捷软件开发、快速应用开发、平台无关性和网络透明化的软件开发平台。它为创建、部署以及管理安全、强大、高效的应用程序提供了前所未有的最大支持

         二、.NET Framework组成

          .NET Framework具有两个主要组件:

            公共语言运行库和.NET Framework类库。

           .NET Framework类库是一个与公共语言运行库紧密集成的可以重用的类型集合。该类库是面向对象,并提供您自己的托管代码可从中导出功能的类型。.NET Framework类型能够完成一些列常见编程任务(包括诸如字符串管理、数据库连接以及文件访问等任务)。除了这些常见的任务之外,类库还包括支持多种专用开发方案的类型:
控制台应用程序。
Windows GUI应用程序(Windows窗体)。
Windows Presentation Foundation(WPF)应用程序。
ASP.NET应用程序。
Web服务。
Windows服务。
使用Windows Communication Foundation(WCF)的面向服务的应用程序。

         三、.NET Farmework的体系结构

  

  补充:第三行包括 ASP.NET, Windows Forms, Web service.

  1.CLS:公共语言规范
.NET定义了一个CLS,包含函数调用方式,参数传递方式,数据类型和异常处理方式.
2.Web Service:
Web Service是一种程序调用与执行的方式,该程序是以网站为基础,一个应用程序可以通过Web Service主动调用网络上另一个应用程序
3.XML:
.NET 直接支持XML文件操作。在XML文档和数据集之间可以进行数据转换,甚至共享一份数据,程序员可以选择熟悉的方式来处理数据,以提高程序设计效率
4. .NET基础类库:
在程序开发过程中,会有许多的功能组件被重复使用,于是将这些组件制作成类库,.NET中基础类库结构是阶层式的,采用命名空间加以管理,方便程序员进行分类引用.
5.CLR:Common Language Runtime,公共语言运行环境
.NET 下,所有的程序语言使用的统一的虚拟机.包括:
a.通用类型系统
b.内存管理和资源回收机制
c.中间语言与实时编译器

6.CLR和MSIL(中间语言)

(CLR):CLR为与.NET Framework配合使用的任何语言提供了诸如内存管理、安全性和错误处理等功能。.NET 总的所有代码都有CLR管理。因此称为“托管代码”
MSIL:中间语言,当编译用兼容.NET的语言编写代码时,输出的代码为MSIL,再有MSIL转换为CPU能识别的代码,这个过程称为“即时”编译或JIT
7.通用语言规范(CLS)和公共类型系统(CTS)
CTS:用于为.NET Framework创建拥护自己定义的类和对象,使用.NET Framework中的任何语言创建了一个类,CTS就使您能够在.NET Framework支持的任何其他语言中重用该类。
CLS:语言通用规范,.NET Framework语言中互操作性的功能,所有.NET 语言都应该遵循次规则才能创建与其他语言可互操作的应用程序。但是,为了是各语言可以互操作,只能使用具有CLS中列出的功能对象,这些功能统称为CLS兼容的功能。

四、创建.NET应用程序

1、CIL和JIT

在编译使用.NET Framework 库的代码时,不是立即创建专用于操作系统的本机代码。而是把代码编译为通用的中间语言(Common Intermediate Language,CIL)代码

如果要执行应用程序,必须用到Just-In-Time(JIT)编译器,它把CIL编译为专用于OS和目标机器结构的本机代码。

2、程序集

在编译应用程序时,所创建的CIL代码存储在一个程序集中,包括可执行的应用程序文件和其他应用程序使用的库

3、托管代码

在将代码编译为CIL,再用JIT编译器将它编译为本机代码后,CLR的任务还没有全部完成,还需要管理正在执行的用.NET Framework 编写的代码。即CLR管理着应用程序。其方式是管理内存、处理安全性以及允许进行跨语言调试等。

4、垃圾回收

托管代码最重要的一个功能是垃圾回收。这种.NET方法可确保应用程序不再使用某些内存时,就会完全释放这些内存。

5、组合在一起实例


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


(2)把代码编译为CIL,存储在程序集中。


(3)在执行代码时,首先必须使用JIT编译器将代码编译为本机代码。


(4)在托管的CLR环境下运行本机代码,以及其他应用程序或进程。


五、 .C#中常用的命名空间

命名空间用来将具有相关功能的相似类在逻辑上进行分组。命名空间还可以用来对相似数据类型进行分组。
在.NET Framework中,说有命名空间基本上都是从称为System的公共命名空间形成的。System命名空间称为公共命名空间。
System根下的部分二级命名空间
       命名空间                               说明

System.Data                 处理数据访问和管理;在定义ADO.NET技术中起重要作用

System.IO                   管理对文件和流的同步和异步访问

System.Windows          处理基于穿体的Windows创建

System.Reflection         包含用语从程序集里读取元数据的类

System.Threading         包含用语多线程编程的类

System.Collections        包含不同的接口和类,这些接口和类用来定义不同的对象


小结:.NET Framework和C#可以形象的比喻成水和鱼,在学习的过程中是个比较重要的部分。


1 0
原创粉丝点击