【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 包含不同的接口和类,这些接口和类用来定义不同的对象
- 【C#】赖以生存的土壤--.NET Framework
- 假文凭的土壤
- 土壤的成分是什么
- 我们赖以生存的地球只有一个
- C#、.NET Framework、CLR的关系
- C#、.NET Framework、CLR的关系
- C#,.NET,.NET FrameWork以及VS的区别
- 成长的土壤和方向
- 负载均衡算法—负载均衡技术赖以生存的核心
- C#, .NET Framework, Visual Studio 和CLR之间的关系
- .net framework、C#、CLR、Visual Studio的对应关系。
- .net Framework的网页
- .NET Framework的版本
- .NET Framework 的容器
- NET Framework 的源代码
- .NET Framework 的容器
- 土壤中氮含量的测定分析
- 企业吸引人留住人的土壤
- 【IOS 开发学习总结-OC-28】★objective-c之foundation 框架——集合类的综述
- kmp算法原理及实现
- nyoj 220 推桌子
- 买股票最大利润
- 补码
- 【C#】赖以生存的土壤--.NET Framework
- POJ 3074 Sudoku (DLX解经典数独)
- HDU 3826 Squarefree number
- codeforces 478D D. Red-Green Towers(dp)
- 深入理解按位异或运算符
- Linux Shell 之 Shell 打印命令
- linux避免僵死进程方法总结 http://blog.csdn.net/astrotycoon/article/details/39717143
- (ZT)在int13h中使用es:bx的例子
- 杂七杂八