当前位置: 首页 > news >正文

【C#】命名空间

文章目录

  • 核心命名空间
  • 输入输出和数据处理
  • 网络和通信
  • 多线程和异步编程
  • 用户界面开发
  • 高级功能
  • 配置和本地化
  • 序列化和格式化
  • 代码示例
  • 使用建议

核心命名空间

命名空间主要功能重要类型使用场景
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.SqlClientSQL Server访问SqlConnection, SqlCommand, SqlDataAdapterSQL Server数据库操作
System.XmlXML处理XmlDocument, XmlReader, XmlWriterXML数据处理
System.Text.JsonJSON处理JsonSerializer, JsonDocumentJSON数据序列化

网络和通信

命名空间主要功能重要类型使用场景
System.Net网络编程基础WebClient, HttpWebRequest, IPAddress网络通信
System.Net.HttpHTTP客户端HttpClient, HttpRequestMessageREST API调用
System.Net.Sockets底层网络编程Socket, TcpClient, UdpClientTCP/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.FormsWindows窗体应用Form, Button, TextBox, Label桌面应用开发
System.WebWeb应用基础HttpContext, HttpRequest, HttpResponseWeb应用开发
System.Web.UIWeb用户界面Page, Control, WebControlASP.NET Web Forms
System.Web.MvcMVC框架Controller, ActionResult, ViewResultMVC Web应用
System.Drawing图形处理Graphics, Bitmap, Color, Font2D图形绘制

高级功能

命名空间主要功能重要类型使用场景
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.JsonJSON序列化DataContractJsonSerializerJSON数据处理
System.Xml.SerializationXML序列化XmlSerializer, XmlAttributeXML数据序列化

代码示例

using System;                           // 基本类型
using System.Collections.Generic;        // 泛型集合
using System.IO;                        // 文件操作
using System.Text;                      // 文本处理
using System.Threading.Tasks;           // 异步编程
using System.Net.Http;                  // HTTP客户端
using System.Linq;                      // LINQ查询
using System.Text.Json;                 // JSON处理namespace NamespaceExample
{class Program{static async Task Main(string[] args){// System - 基本功能Console.WriteLine("当前时间: " + DateTime.Now);// System.Collections.Generic - 集合操作var numbers = new List<int> { 1, 2, 3, 4, 5 };var dict = new Dictionary<string, int>();// System.Linq - 查询操作var evenNumbers = numbers.Where(x => x % 2 == 0).ToList();// System.IO - 文件操作await File.WriteAllTextAsync("test.txt", "Hello World");string content = await File.ReadAllTextAsync("test.txt");// System.Text.Json - JSON处理var person = new { Name = "张三", Age = 25 };string json = JsonSerializer.Serialize(person);// System.Net.Http - HTTP请求using var client = new HttpClient();var response = await client.GetStringAsync("https://api.example.com/data");// System.Threading.Tasks - 异步操作await Task.Delay(1000);Console.WriteLine("所有操作完成");}}
}

使用建议

  1. 按需引用:只引用必要的命名空间,避免不必要的using语句
  2. 避免冲突:当多个命名空间包含同名类型时,使用完全限定名
  3. 创建别名:对于长命名空间,可以创建别名简化使用
  4. 分层组织:在大型项目中,合理组织自定义命名空间的层次结构
// 命名空间别名示例
using Json = System.Text.Json;
using Collections = System.Collections.Generic;// 使用别名
var list = new Collections.List<string>();
string jsonString = Json.JsonSerializer.Serialize(list);
http://www.dtcms.com/a/266222.html

相关文章:

  • 尝试安装使用无头cms strapi (未完成)
  • 【数据结构】时间复杂度与空间复杂度
  • 【C++】访问者模式中的双重分派机制详解
  • 淋巴细胞激活靶点CD6
  • 【人工智能与机器人研究】优化YOLOv11模型:基于多尺度注意力机制的小目标检测性能提升研究
  • RRF (Reciprocal Rank Fusion) 排序算法详解
  • 【排序算法】
  • Vue3封装动态Form表单
  • 第二章-AIGC入门-开启AIGC音频探索之旅:从入门到实践(6/36)
  • 【学术写作+AI实战】株洲高校科研写作研修班全纪实:核心期刊编辑与AI专家的联合授课笔记
  • Web前端数据可视化:ECharts高效数据展示完全指南
  • 【JavaEE】计算机工作原理
  • JavaEE初阶第七期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(五)
  • 运维打铁:企业云服务解决方案
  • openEuler 24.03 全流程实战:用 Ansible 5 分钟部署分布式 MinIO 高可用集群
  • Django+DRF 实战:从异常捕获到自定义错误信息
  • 深度分析:Microsoft .NET Framework System.Random 的 C++ 复刻实现
  • 切出idea窗口自动编译,关闭idea自动编译
  • WPF+HelixToolkit打造炫酷自定义3D贴图立方体盒子模型
  • 机器学习在智能供应链中的应用:需求预测与物流优化
  • Java技术深潜:从并发陷阱到云原生突围
  • web网页,在线%电商,茶叶,商城,网上商城系统%分析系统demo,于vscode,vue,java,jdk,springboot,mysql数据库
  • 警惕 Rust 字符串的性能陷阱:`chars().nth()` 的深坑与高效之道
  • 「AI产业」| 《中国信通院华为:智能体技术和应用研究报告》
  • P1202 [USACO1.1] 黑色星期五Friday the Thirteenth
  • Ubuntu Linux Cursor 安装与使用一
  • 成功解决运行:Django框架提示:no such table: django_session
  • 基于探索C++特殊容器类型:容器适配器+底层实现原理
  • 如何通过注解(@Component 等)声明一个 Bean?Spring 是如何找到这些注解的?
  • java微服务(Springboot篇)——————IDEA搭建第一个Springboot入门项目