文章目录
- 核心命名空间
- 输入输出和数据处理
- 网络和通信
- 多线程和异步编程
- 用户界面开发
- 高级功能
- 配置和本地化
- 序列化和格式化
- 代码示例
- 使用建议
核心命名空间
命名空间 | 主要功能 | 重要类型 | 使用场景 |
---|
System | 基本类型和核心功能 | Int32, String, Boolean, DateTime, Console, Math | 所有C#程序的基础 |
System.Collections | 非泛型集合 | ArrayList, Hashtable, Queue, Stack | 传统集合操作 |
System.Collections.Generic | 泛型集合 | List, Dictionary<TKey,TValue>, Queue | 类型安全的集合操作 |
System.Collections.Concurrent | 线程安全集合 | ConcurrentBag, ConcurrentDictionary<TKey,TValue> | 多线程环境下的集合操作 |
输入输出和数据处理
命名空间 | 主要功能 | 重要类型 | 使用场景 |
---|
System.IO | 文件和流操作 | File, Directory, FileStream, StreamReader | 文件系统操作 |
System.Text | 文本处理 | StringBuilder, Encoding, Regex | 字符串操作和编码 |
System.Data | 数据访问基础 | DataSet, DataTable, DataRow | 数据库操作基础 |
System.Data.SqlClient | SQL Server访问 | SqlConnection, SqlCommand, SqlDataAdapter | SQL Server数据库操作 |
System.Xml | XML处理 | XmlDocument, XmlReader, XmlWriter | XML数据处理 |
System.Text.Json | JSON处理 | JsonSerializer, JsonDocument | JSON数据序列化 |
网络和通信
命名空间 | 主要功能 | 重要类型 | 使用场景 |
---|
System.Net | 网络编程基础 | WebClient, HttpWebRequest, IPAddress | 网络通信 |
System.Net.Http | HTTP客户端 | HttpClient, HttpRequestMessage | REST API调用 |
System.Net.Sockets | 底层网络编程 | Socket, TcpClient, UdpClient | TCP/UDP通信 |
System.Net.Mail | 邮件发送 | MailMessage, SmtpClient | 发送电子邮件 |
多线程和异步编程
命名空间 | 主要功能 | 重要类型 | 使用场景 |
---|
System.Threading | 多线程编程 | Thread, ThreadPool, Mutex, Semaphore | 线程管理和同步 |
System.Threading.Tasks | 任务并行库 | Task, Task, TaskFactory | 异步编程和并行处理 |
System.Threading.Channels | 异步通信 | Channel, ChannelReader | 生产者-消费者模式 |
用户界面开发
命名空间 | 主要功能 | 重要类型 | 使用场景 |
---|
System.Windows.Forms | Windows窗体应用 | Form, Button, TextBox, Label | 桌面应用开发 |
System.Web | Web应用基础 | HttpContext, HttpRequest, HttpResponse | Web应用开发 |
System.Web.UI | Web用户界面 | Page, Control, WebControl | ASP.NET Web Forms |
System.Web.Mvc | MVC框架 | Controller, ActionResult, ViewResult | MVC Web应用 |
System.Drawing | 图形处理 | Graphics, Bitmap, Color, Font | 2D图形绘制 |
高级功能
命名空间 | 主要功能 | 重要类型 | 使用场景 |
---|
System.Reflection | 反射机制 | Type, Assembly, MethodInfo | 运行时类型检查 |
System.Linq | 语言集成查询 | Enumerable, Queryable, IQueryable | 数据查询和转换 |
System.Security | 安全功能 | SecurityManager, Principal, Identity | 安全和权限管理 |
System.Security.Cryptography | 加密解密 | RSA, AES, SHA256, MD5 | 数据加密和哈希 |
System.Diagnostics | 诊断调试 | Debug, Trace, Process, PerformanceCounter | 性能监控和调试 |
配置和本地化
命名空间 | 主要功能 | 重要类型 | 使用场景 |
---|
System.Configuration | 配置管理 | ConfigurationManager, AppSettings | 应用程序配置 |
System.Globalization | 国际化 | CultureInfo, NumberFormatInfo, DateTimeFormatInfo | 多语言支持 |
System.Resources | 资源管理 | ResourceManager, ResourceSet | 本地化资源 |
序列化和格式化
命名空间 | 主要功能 | 重要类型 | 使用场景 |
---|
System.Runtime.Serialization | 序列化基础 | DataContract, DataMember, ISerializable | 对象序列化 |
System.Runtime.Serialization.Json | JSON序列化 | DataContractJsonSerializer | JSON数据处理 |
System.Xml.Serialization | XML序列化 | XmlSerializer, XmlAttribute | XML数据序列化 |
代码示例
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;
using System.Linq;
using System.Text.Json; namespace NamespaceExample
{class Program{static async Task Main(string[] args){Console.WriteLine("当前时间: " + DateTime.Now);var numbers = new List<int> { 1, 2, 3, 4, 5 };var dict = new Dictionary<string, int>();var evenNumbers = numbers.Where(x => x % 2 == 0).ToList();await File.WriteAllTextAsync("test.txt", "Hello World");string content = await File.ReadAllTextAsync("test.txt");var person = new { Name = "张三", Age = 25 };string json = JsonSerializer.Serialize(person);using var client = new HttpClient();var response = await client.GetStringAsync("https://api.example.com/data");await Task.Delay(1000);Console.WriteLine("所有操作完成");}}
}
使用建议
- 按需引用:只引用必要的命名空间,避免不必要的using语句
- 避免冲突:当多个命名空间包含同名类型时,使用完全限定名
- 创建别名:对于长命名空间,可以创建别名简化使用
- 分层组织:在大型项目中,合理组织自定义命名空间的层次结构
using Json = System.Text.Json;
using Collections = System.Collections.Generic;
var list = new Collections.List<string>();
string jsonString = Json.JsonSerializer.Serialize(list);