C# (.NET) 标准库:全面概述
.NET 标准库(基类库,BCL)是 .NET 平台中包含的一组基础类、接口和值类型。它为 C# 开发者提供了现成的组件来解决常见任务:从集合和文件操作到网络通信和异步编程。在本文中,我们将详细解析每个 C# 开发者都应掌握的关键命名空间和类。
1. System 命名空间 — 一切的基础
根命名空间 System 包含基础类型:
- 基本数据类型:
Object、String、Int32、Double、Boolean等。 - 实用工具:
Console(输入/输出)、Math(数学函数)、Random(随机数生成)。 - 错误处理:
Exception及其派生类(ArgumentException、NullReferenceException等)。
使用示例:
using System;
class Program{ static void Main() { Console.WriteLine("你好,.NET!"); double result = Math.Sqrt(144); Console.WriteLine($"144 的平方根:{result}"); }}2. System.Collections — 集合操作
用于存储和管理对象组的命名空间。分为泛型集合和非泛型集合。
主要类:
List<T>— 动态数组,支持按索引快速访问。Dictionary<TKey, TValue>— 关联数组(哈希表)。Queue<T>— 队列(先进先出)。Stack<T>— 栈(后进先出)。HashSet<T>— 唯一元素集合。
示例:
using System.Collections.Generic;
var numbers = new List<int> { 10, 20, 30 };numbers.Add(40);
var lookup = new Dictionary<string, int>{ ["一"] = 1, ["二"] = 2};
Console.WriteLine(lookup["二"]); // 23. System.Linq — 语言集成查询
LINQ 允许对集合、数据库和 XML 执行类似 SQL 的查询。主要扩展方法:
Where()— 过滤。Select()— 投影。OrderBy()— 排序。GroupBy()— 分组。Aggregate()— 聚合函数(Sum、Count、Average)。
示例:
using System.Linq;
int[] scores = { 85, 92, 78, 95, 88 };var highScores = scores .Where(s => s >= 90) .OrderByDescending(s => s) .ToList();
Console.WriteLine(string.Join(", ", highScores)); // 95, 924. System.IO — 文件和流操作
用于数据输入/输出的命名空间。关键类:
File/FileInfo— 创建、读取、写入文件。Directory/DirectoryInfo— 目录操作。StreamReader/StreamWriter— 文本流读取/写入。FileStream— 底层文件操作。
写入和读取示例:
using System.IO;
string path = "example.txt";File.WriteAllText(path, "你好,.NET!");
string content = File.ReadAllText(path);Console.WriteLine(content); // 你好,.NET!5. System.Threading.Tasks — 异步编程
通过 async 和 await 关键字的现代异步方法。主要类