当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

1.1.NETFramework基础

8/31/2020 9:37:14 PM 人评论

1.1.NETFramework基础

1.1 .NET Framework基础

微软公司的.NET框架经过了十多年的发展已经变得十分强大和成熟,在2002年微软推出了第一个版本Visual Studio 2002,这个版本只是一个开发工具的模型。一年后推出了Visual Studio 2003,该版本的开发工具已经具备了后期开发工具的雏形,但是没有后期编译器的使用方便,比如当用户将光标放在当前变量的时候,所有当前的这个变量全部加重颜色显示。这个在以前的编译器中是没有的,只有在Visual Studio 2010以后的编译器才存在,这样有利于识别当前变量和快速查找当前变量,在后续的编译器中这样的例子很多。

1.1.1 什么是.NET Framework

.NET Framework的核心包括三部分,CLS公共语言规范(Common Language Specification),CLR公共语言运行库(Common Language Runtime)和CTS通用类型系统(Common Type System)。

1.CLS公共语言规范(Common Language Specification)

CLS是微软在开发Framework平台的同时提出的一个标准,遵循这个标准开发的类库能够被所有的语言所调用。在微软的Framework平台中几乎所有的类都是遵循这个标准开发的,所以这些类库都能够被所有开发语言的程序所调用。

所有类型都可以在CTS中声明。CTS定义了一组语言编译器必须遵循的规则,以定义、引用、使用和存储引用类型和值类型。因此,遵循CTS在不同语言中编写的对象才能彼此交互,但并不是所有的类型都可以用于所有的语言。要建立可以在所有.NET语言中访问的组件就要使用CLS。有了CLS,编译器就可以根据CLS规范检查代码是否有效。

任何支持.NET的语言都不仅仅局限于CLS定义的公共功能的子集,利用.NET所支持的语言比利用其他语言要简单得多。如果把自己限制在CLS之内,就可以保证组件能够在所有的语言中使用。第三方编写的库很可能限制在CLS之内,以确保该库可以在所有的语言中使用。

.NET Framework是为了支持多种语言而设计的。在设计.NET的阶段中,Microsoft让许多编译器开发商建立它们自己的.NET语言。Microsoft自己就发布了VB.NET、Managed C++、C#、J#和JScript。另外,不同开发商开发了40多种语言,例如COBOL、Smalltalk、Perl和Eiffel等。每种语言都有其特有的优点和许多不同的功能,这些语言的编译器都进行了扩展以支持.NET。

2.公共语言运行库(Common Language Runtime)

为了实现快速开发,微软在Framework中提供了公共语言运行库,负责把将要使用到的资源加载到系统内存中。除了系统资源外,还预先加载用于算数和逻辑运算、控制系统IO、内存访问、异常处理、垃圾回收等可能会使用到的资源。CLR具备跨语言应用、安全性高、版本化清晰等特点。

3.CTS通用类型系统(Common Type System)。

CTS通用类型系统也是微软在Framework开发的同时提出的一个标准。它可以使不同语言编写的代码直接交互使用。CTS可以分为值类型和应用类型两大类,同时两种类型之间可以进行强制转换,这种转换称为Boxing(装箱)和UnBoxing(拆箱)。CTS的每一种类型都是对象,并继承一个基类System.Object。所有遵循CTS标准开发的类型都能够在所有开发语言中进行类型间的互相转换,这也是高级语言的一个明显的特征。毕竟一个高速、快捷、安全的类型转换是非常必要的。

1.1.2 .NET类库简介

在.NET中有很多的基础类库用以进行快速开发。比如System命名空间,此命名空间是开发的所有命名空间是基础。当然,如果要引用其他的类库也能达到这个空间的效果,但是要实现快速开发的原则就不太可靠了。System命名空间是基础,其中包括常用的值和对象引用类型、事件、接口、属性和异常处理等操作。下面简单介绍下几个经常使用到的类库。

Dispose方法:顶层接口中的静态方法。所以对象都拥有此方法。手动调用可以进行垃圾回收机制,释放由ActivationContext使用的资源。

Array类:提供数组的操作方法,所有数组操作的基类。

Console类:控制台应用程序的标准输入流、输出流和错误流。

Convert类:为基础数据类型转换提供操作。

Delegate类:实现委托功能。

Exception类:所有异常类的基类。

EventArgs类:所有事件类的基类。

Math类:所有计算函数类。

Random类:所有随机数的基类。

I/O类:所有I/O操作的基类。

此外,还有很多基类,在后面的学习中会接触到。

相关教程

共有条评论 网友评论

验证码: 看不清楚?