.NET Framework 类库概述

更新:2007 年 11 月

.NET Framework 包括可加快和优化开发过程并提供对系统功能的访问的类、接口和值类型。为了便于语言之间进行交互操作,大多数 .NET Framework 类型都符合 CLS,因而可在编译器符合公共语言规范 (CLS) 的任何编程语言中使用。

.NET Framework 类型是生成 .NET 应用程序、组件和控件的基础。.NET Framework 包括的类型可执行下列功能:

  • 表示基础数据类型和异常。

  • 封装数据结构。

  • 执行 I/O。

  • 访问关于加载类型的信息。

  • 调用 .NET Framework 安全检查。

  • 提供数据访问、多客户端 GUI 和服务器控制的客户端 GUI。

.NET Framework 提供了一组丰富的接口以及抽象类和具体(非抽象)类。可以按原样使用这些具体的类,或者在多数情况下从这些类派生您自己的类。若要使用接口的功能,既可以创建实现接口的类,也可以从某个实现接口的 .NET Framework 类中派生类。

命名约定

.NET Framework 类型使用点语法命名方案,该方案隐含了层次结构的意思。此技术将相关类型分为不同的命名空间组,以便可以更容易地搜索和引用它们。全名的第一部分(最右边的点之前的内容)是命名空间名。全名的最后一部分是类型名。例如,System.Collections.ArrayList 表示 ArrayList 类型,该类型属于 System.Collections 命名空间。System.Collections 中的类型可用于操作对象集合。

此命名方案使扩展 .NET Framework 的库开发人员可以轻松创建分层类型组,并用一致的、带有提示性的方式对其进行命名。它还允许用全名(即命名空间和类型名称)明确地标识类型,这样可以防止类型名称发生冲突。库开发人员在创建命名空间的名称时应使用以下原则:

“公司名称.技术名称”

例如,Microsoft.Word 命名空间就符合此原则。

利用命名模式将相关类型分组为命名空间是生成和记录类库的一种非常有用的方式。但是,此命名方案对可见性、成员访问、继承、安全性或绑定无效。一个命名空间可以被划分在多个程序集中,而单个程序集可以包含来自多个命名空间的类型。程序集为公共语言运行库中的版本控制、部署、安全性、加载和可见性提供外形结构。

有关命名空间和类型名的更多信息,请参见通用类型系统

System 命名空间

System 命名空间是 .NET Framework 中基本类型的根命名空间。此命名空间包括表示由所有应用程序使用的基本数据类型的类:Object(继承层次结构的根)、ByteCharArrayInt32String 等。在这些类型中,有许多与编程语言所使用的基元数据类型相对应。当使用 .NET Framework 类型编写代码时,可以在应使用 .NET Framework 基础数据类型时使用编程语言的相应关键字。

下表列出了 .NET Framework 提供的基类型,并对每种类型进行了简单描述,同时指出了 Visual Basic、C#、C++ 和 JScript 中的相应类型。

类别

类名

说明

Visual Basic 数据类型

C# 数据类型

C++ 数据类型

JScript 数据类型

整数

Byte

8 位的无符号整数。

Byte

byte

char

Byte

   

SByte

8 位的有符号整数。

不符合 CLS。

SByte

sbyte

signed char

SByte

   

Int16

16 位的有符号整数。

Short

short

short

short

   

Int32

32 位的有符号整数。

Integer

int

int

- 或 -

long

int

   

Int64

64 位的有符号整数。

Long

long

__int64

long

   

UInt16

16 位无符号整数。

不符合 CLS。

UShort

ushort

unsigned short

UInt16

   

UInt32

32 位无符号整数。

不符合 CLS。

UInteger

uint

unsigned int

- 或 -

unsigned long

UInt32

   

UInt64

64 位无符号整数。

不符合 CLS。

ULong

ulong

unsigned __int64

UInt64

浮点

Single

单精度(32 位)浮点数字。

Single

float

float

float

   

Double

双精度(64 位)浮点数字。

Double

double

double

double

逻辑运算

Boolean

布尔值(真或假)。

Boolean

bool

bool

bool

其他

Char

Unicode(16 位)字符。

Char

char

wchar_t

char

   

Decimal

十进制(128 位)值。

Decimal

decimal

Decimal

Decimal

   

IntPtr

大小取决于基础平台(32 位平台上为 32 位值,64 位平台上为 64 位值)的有符号整数。

IntPtr

无内置类型。

IntPtr

无内置类型。

IntPtr

无内置类型。

IntPtr

   

UIntPtr

大小取决于基础平台的无符号整数(32 位平台上为 32 位值,64 位平台上为 64 位值)。

不符合 CLS。

UIntPtr

无内置类型。

UIntPtr

无内置类型。

UIntPtr

无内置类型。

UIntPtr

类对象

Object

对象层次结构的根。

Object

object

Object*

Object

   

String

Unicode 字符的不变的定长串。

String

string

String*

String

除了基本数据类型外,System 命名空间还包含 100 多个类,范围从处理异常的类到处理核心运行时概念的类,如应用程序域和垃圾回收器。System 命名空间还包含许多二级命名空间。

有关命名空间的更多信息,请浏览 .NET Framework 参考。此参考文档提供对每个命名空间的简要概述以及对每种类型及其成员的正式说明。

请参见

参考

.NET Framework 类库参考

其他资源

通用类型系统

.NET Framework 概述