T 程序执行时发生的情况之前,先定义一下.NET 组件和我们所需要的其他术语。
1.NET 运行时:也称为公共语言运行时(Common Language Runtime)或 CLR,它实际管理代码。
它可以处理加载程序,运行程序的代码,以及提供所有支持的代码。
2受管制的代码:在.NET 环境中运行的任何代码都称为受管制的代码 。
.NET 外部的其它代码也运行在 Windows 上,这些代码称(managed code) 。
为未受管制的代码(unmanaged code) : 3中间语言(IL)在 .NET 运行时加载和运行代码时,这种语言确定代码的位置。
在编译受管制的代码时,编译器实际上使用中间语言,CLR处理代码执行前的最后编译阶段。
IL 可以非常快速的编译为内部的机器代码,同时支持.NET 的功能。
:为了实现语言的互操作性,必须有一组各种 4公共类型系统(CTS)语言都认可的基本数据类型,这样才能对所有语言进行标准化处理。
CTS就提供了这个功能,还提供了定义鼎峙类的规则。
5.NET 基类:这是一个扩展的类库,它包含预先写好的代码,执行Windows 上各种任务,例如显示窗口和窗体、访问 Windows 基本服务、读写文件、访问网络和 Internet、访问数据源。
:这是确保代码可以在任何语言中访问的最小 6公共语言规范(CLS)标准集合。
所有用于.NET 的编译器都应支持 CLS。
CLS 构成了可以在.NET和 IL 中使用的功能子集,代码也可以是使用 CLS 外部的功能。
如果非 CLS功能在代码所在的装配件的外部是可见的,那么这些功能就不能在某些语言中使用。
7Just-in-timeJIT编译:这个术语用于表示执行编译过程的最后w 阶段,即从中间语言转换为内部机器代码。
起名称的来源是部分代码是按需要即时编译的。
2.3 .NET 基类库 首先,从易于编写代码的角度来看,编写受管制的代码的最大好处是可以使用.NET 基础类库。
.NET 类库是 Microsoft 已经编写好的一个内容丰富的受管制的代码类集合,它可以完成以前要通过 Windows API 来完成的绝大多数任务。
这些类派生于与中间语言相同的对象模型,也基于单一继承性。
无论.NET 基类是否合适,都可以实例化对象,也可以从它们中派生自己的类。
.NET 基类的一个优点是他们非常易用,且都是自我描述性的。
例如,要启动一个线程,可以调用 Thread 类的 Start方法。
要打开一个文件, 要禁用 TexBox应把 TexBox 对象的 Enable可以调用 File 类的 Open方法。
属性设置为 false。
Visual Basic 和 Java 开发人员非常熟悉这种自我描述性的类,他们的库在易用性方面是非常类似的。
.NET 基类包括:IL 提供的核心功能,Windows GUI 支持,控件等Web窗体(
ASP.NET)数据访问(ADO.NET)目录访问文件系统和注册表访问联网和 Web 浏览.NET 属性和反射访问 windows 操作系统、环境变量等各个方面访问不 。
同语言的源代码和编译器COM 互操作性制图技术(GDI) 2.4 语言和技术 C是一种新的面向对象的编程语言,专门用于.NET 运行时。
C编译器只能生成受管制的代码,也可以使用.NET 基类。
w C的重要性体现在两个方面:第一,它是专门为与.NET 运行时高速兼容而设计的。
第二,它是一种现代的面向对象语言,在设计它时,Microsoft还学习了其他类似语言的经验,这些类似语言是近 20 年来面向对象规则得到广泛应用以来发出来的。
C本身而言只是一种语言,尽管它是用于生成面向.NET 环境的代码,但它本身不是.NET 的一部分。
一些特性由.NET 支持,但 C不支持。
而另一些特性 C支持,.NET 不支持!一些 C的异常处理语句就属于这个范围。
C的优点: 1简单性 C中指针已经消失;不安全的操作比方说直接内存操作不被允许了;C中quot::quot或quot-gtquot操作符是没用的;因为它是基于.NET 平台的它继承了自动内存管理和垃圾回收的特点;原始数据类型可变的数据范围象IntegerFloats 等;整形数值 0 和 1 不再作为布尔值出现;C中的布尔值是纯粹的 true 和 false 值而且没有更多的quotquot操作符和quotquot操作符错误,quotquot被用于进行比较操作而quotquot被用做赋值操作。
2现代性 C建立在当前的潮流上对于创建相互兼容的可伸缩的健壮的应用程序来说是非常强大和简单的;C拥有内建的支持来将任何组件转换成一个 web service运行在任何平台上的任何应用程序都可以通过互联网来使用这个服务。
3 面向对象性 C支持数据封装继承多态和对象界面即 java 中的 interface 关键字;intfloatdouble在 java 中都不是对象但是 C引入和结构体structs来使原始数据类型变成对象 int i1String ai Tostring。
4 类型安全性w 在 C中我们不能进行不安全的类型转换象将 double 转换成 boolean值类型常量类型被初始化为零值而引用类型对象和类被编.
上一篇:
【精品】实际就是让你大体了解一下计算机
下一篇:
初中团支部学期工作总结