C# 中一些重要的命名空间有哪些?请简要描述每个命名空间。
.NET 包含许多命名空间,如果包含第三方库,则更多。但是,有一些命名空间你会反复使用。以下列出了二十个命名空间,它们可以解决 80% 的常见、重复出现的编程问题。
System
包含最基本的数据类型。这些包括常用的类、结构、枚举、事件、接口等。
System.Text
包含表示 ASCII 和 Unicode 字符编码的类。用于将字符块与字节块相互转换的类。
System.Text.RegularExpressions
提供正则表达式功能。
System.Linq
提供支持使用语言集成查询 (LINQ) 的查询的类和接口。
System.XML.Linq
包含用于 LINQ to XML 的类。LINQ to XML 是一个内存中的 XML 编程接口,使您可以高效且轻松地修改 XML 文档。
System.XML
提供对 XML 处理的支持。
System.XML.Serialization
包含用于将对象序列化为 XML 格式文档或流的类。
System.Text.Json
提供高性能、低分配和符合标准的功能来处理 JavaScript 对象表示法 (JSON),包括将对象序列化为 JSON 文本以及将 JSON 文本反序列化为对象,并内置 UTF-8 支持。
System.Diagnostics
提供允许您与系统进程、事件日志和性能计数器交互的类。
System.Threading
提供启用多线程编程的类和接口。除了用于同步线程活动和数据访问的类(Mutex、Monitor、Interlocked、AutoResetEvent 等),此命名空间还包括一个ThreadPool类,允许您使用系统提供的线程池,以及一个Timer类,可在线程池线程上执行回调方法。
System.Threading.Tasks
提供简化编写并发和异步代码工作的类型。主要类型是Task,它表示可以等待和取消的异步操作,以及Task
System.IO
包含允许读取和写入文件和数据流的类型,以及提供基本文件和目录支持的类型。
System.Net
为当今网络上使用的许多协议提供简单的编程接口。
System.Net.Http
为现代 HTTP 应用程序提供编程接口。
System.Net.Mail
包含用于将电子邮件发送到简单邮件传输协议 (SMTP) 服务器以进行传递的类。
System.Net.Sockets
为需要严格控制对网络访问的开发人员提供 Windows 套接字 (Winsock) 接口的托管实现。
System.Reflection
包含通过检查其元数据来检索有关托管代码中的程序集、模块、成员、参数和其他实体的信息的类型。
System.Security
提供公共语言运行时安全系统的底层结构,包括权限的基类。
System.Security.Cryptography
提供加密服务,包括数据的安全编码和解码,以及许多其他操作,例如哈希、随机数生成和消息身份验证。
System.Dynamic
提供对动态编程的支持。