.NET
提供广泛的标准类库集,称为基类库(核心集)或框架类库(完整集)。 这些库为许多通用类型和应用特定的类型、算法及实用工具功能提供实现。 商用库和社区库都构建在框架类库的顶层,可让用户针对各种计算任务轻松使用现成的库。
每个 .NET
实现随附了这些库的子集。 任何 .NET
实现预期都要使用基类库 (BCL) API,原因有两种:开发人员需要这些 API
,流行的库需要这些 API
才能运行。 位于 BCL
上层的应用特定的库(例如 ASP.NET
)并不能在所有 .NET
实现中使用。
基类库
BCL
提供最基本的类型和实用工具功能,是其他所有 .NET
类库的基础。 BCL
旨在提供极其通用的实现,对所有工作负荷一视同仁。 性能始终是一个重要的考虑因素,因为应用可能会优先使用特定的策略,例如,优先考虑低延迟而不是高吞吐量,或者优先考虑低内存而不是低 CPU 使用率。 这些库在总体上可以保证高性能,同时会根据不同的性能考虑因素采取折衷方案。 对于大多数应用而言,这种方案相当成功。
基元类型
.NET
包含一组基元类型,所有程序都使用这些类型(使用程度或大或小)。 这些类型包含数据,例如数字、字符串、字节和任意对象。 C#
语言包括这些类型的关键字。 下面列出了这些类型的一组示例,以及匹配的 C#
关键字。
System.Object
(object) - CLR 类型系统中的最基本基类。 它位于类型层次结构的根级别。System.Int16
(short) - 16 位带符号整数类型。 也存在无符号UInt16
。System.Int32
(int) - 32 位带符号整数类型。 也存在无符号UInt32
。System.Single
(float) - 32 位浮点类型。System.Decimal
(decimal) -128 位十进制类型。System.Byte
(byte) - 表示内存字节的无符号 8 位整数。System.Boolean
(bool) - 表示true
或false
的布尔类型。System.Char
(char) - 表示Unicode
字符的 16 位数字类型。System.String
(string) -表示一系列字符。 与char[]
不同,但会针对string
中的每个char
启用索引。
数据结构
.NET
包含一组数据结构,这些结构是几乎所有 .NET
应用的工作主力。 它们主要是集合,不过也包括其他类型。
Array
- 表示可通过索引访问的强类型对象的数组。 具有与构造相符的固定大小。List<T>
- 表示可通过索引访问的对象的强类型列表。 可根据需要自动调整大小。Dictionary<TKey,TValue>
-表示根据键编制索引的值的集合。 可以通过键访问值。 可根据需要自动调整大小。Uri
- 提供统一资源标识符 (URI) 的对象表示形式和对 URI 各部分的轻松访问。DateTime
- 表示时间上的一刻,通常以日期和当天的时间表示。
实用工具 API
.NET
包含一组可为许多重要任务提供功能的实用工具 API
。
HttpClient
- 用于发送 HTTP 请求以及从 URI 所标识资源接收 HTTP 响应的 API。XDocument
- 用于配合 LINQ 加载和查询 XML 文档的 API。StreamReader
- 用于读取文件的 API。StreamWriter
- 用于写入文件的 API。
应用模型 API
某些公司提供了可与 .NET
配合使用的多个应用模型。
ASP.NET
- 提供用于构建网站和服务的 Web 框架。 受 Windows、Linux 和 macOS 的支持(取决于ASP.NET 版本)。