使用 C# 中的空状态静态分析属性编写更安全、更易维护的代码 处理空引用是编写可靠和可维护的 C# 应用程序的关键方面。引入可空引用类型(Nullable Reference Types)使这一点变得更加容易,允许编译器在编译时警告开发人员潜在的空引用问题。然而,在某些情况下,编译器的默认静态分析无法准确推断空值性。 C# (11) NotNullWhen (1) .NET Core (13) 2024年11月13日 | 阅读 23 | 点赞 1
SOLID:C# 中的开闭原理 软件实体(类、模块、函数等)应该对扩展开放,但对修改关闭。这意味着我们应该能够在不更改实体现有代码的情况下向实体添加新功能。遵守 OCP 有助于提高代码的可维护性、不易出错并适应新的需求。 单一职责原则 (2) 设计模式 (3) .NET (6) 2024年11月12日 | 阅读 17
四数之和:解决数组中的四元组问题 本文深入探讨了“四数之和”问题,这是一种在算法领域常见的组合优化挑战。文章详细解析了如何利用排序和双指针技术,在数组中高效寻找所有和为目标值的唯一四元组,为解决类似问题提供了有效的解决方案。 算法 (3) 2024年11月5日 | 阅读 34
如何在 C# 中以 format 的形式存储临时信息? 在开发应用程序时,经常需要处理来自数据库的数据或者在内存中临时存储数据。DataTable 类作为 System.Data 命名空间的一部分,提供了一个类似于关系型数据库表的数据结构。通过继承 DataTable 类并添加特定功能,可以创建更加符合应用需求的数据结构。本文将详细介绍如何通过继承 DataTable 并扩展其功能来创建一个学生信息表,并展示如何在WPF应用程序中使用这个表格。 C# 数据表 (1) 数据存储 (5) 临时信息 (1) WPF 应用程序 (1) 类型安全 (3) 2024年10月29日 | 阅读 17
c# 干净代码:使用 Action 和 Func 的最佳实践 本文介绍了C#中Action和Func委托的最佳实践,涵盖它们的定义、使用场景及编码指南,帮助编写简洁、可维护的代码。 简洁代码 (1) 整洁编码 (1) C# (11) .NET (6) 最佳实践 (4) 代码质量 (3) 2024年10月27日 | 阅读 46
数组到文本文件:ArrayIOExtensionsLib 类的详细概述 在现代软件开发中,高效的数据管理至关重要。虽然关系数据库管理系统(如 SQL 服务器)通常是首选解决方案,但更简单的场景有时需要更轻量级的方法。例如,不需要关系数据库复杂性的应用程序可以从使用文本文件进行数据存储中受益。我们的电话簿应用程序就是这种情况,它使用简单的 2D 表管理数据。为了简化保存和检索数据的过程,我们开发了 ArrayIOExtensionsLib,这是一个提供易于使用的方法来处理存储在文本文件中的数据的库。 数组操作 (1) C#编程 (3) 数据转换 (2) 文件输入 (1) .NET库 (1) 编程技巧 (1) 2024年10月25日 | 阅读 17
C# 中 Break 和 Continue 语句之间的区别 在 C# 编程中,控制流语句扮演着至关重要的角色,其中 Break 和 Continue 语句是最常用的跳转语句。本文将详细解释这两种语句的功能、语法以及使用场景,帮助读者更好地理解它们的区别。 跳转语句 (1) Break (2) Continue (2) C# (11) 控制流 (2) 循环 (2) 2024年10月25日 | 阅读 16
深入了解 C# 12 中的高级模式匹配 C# 12 引入了一些激动人心的新特性,以增强其模式匹配的能力。这些增强功能为开发者提供了更具表现力和简洁的方式来处理数据,从而生成更清晰、可维护的代码。本文将讨论两个主要的 C# 12 增强特性:let 模式和高级递归模式。为了充分利用这些模式,我们将解释它们的工作原理、优点,并提供实用的代码示例。 模式匹配 (3) let模式 (1) 递归模式 (1) C# 12 (7) 代码示例 (5) 可读性 (3) 2024年10月22日 | 阅读 17
C# 中的序列化和反序列化 序列化是将对象转换为易于存储或传输的格式的过程,例如 XML、JSON、SOAP 或二进制格式。反序列化则是将序列化数据转换回对象的过程。 序列化 (1) 反序列化 (1) XML (1) JSON (3) 二进制 (1) SOAP (1) 2024年10月22日 | 阅读 18
C# 中的封装与抽象 封装是将数据(变量)与操作这些数据的方法(函数)结合成一个统一的实体或类的概念。这个原则还涉及通过将某些元素指定为私有(private)或保护(protected)来限制对其访问。通过隐藏内部实现,封装确保只有必要的信息被公开,从而增强了数据访问和修改的管理。 封装 (4) 抽象 (3) C# (11) 数据安全 (3) 代码维护 (1) 设计原则 (1) 2024年10月22日 | 阅读 18