编辑
2025-09-25
C#
00

摘要

C# 事件总线是一种在软件架构中常见的设计模式,用于解耦事件的发布和订阅。它允许多个组件或对象之间通过订阅和发布事件来进行通信,而无需直接相互引用。事件总线可以用于在应用程序中传递消息、通知和数据,从而实现松耦合和灵活性。

正文

EventBus是一种事件总线框架,它维护一个事件字典,其中包含发布者和订阅者的信息。当事件发生时,发布者将事件实例传递到事件总线中,并等待订阅者的处理。订阅者从事件总线中获取事件实例,并执行事件处理程序。事件实例负责维护事件状态,并在事件处理程序执行完毕后,将事件状态保存在字典中以便以后使用。通过使用EventBus,发布者和订阅者可以通过一种简单的方式进行事件通信。

image.png

编辑
2025-09-25
C#
00

摘要

NLog是一个功能强大的.NET平台上的日志记录类库,可以帮助开发人员更加方便地进行日志记录、过滤、投递等操作。它支持多种日志记录器,包括日志记录器和文件记录器,可以灵活地满足不同的日志记录需求。此外,NLog还支持配置多个日志记录器,使得日志记录更加灵活。

使用NLog进行日志记录非常简单。开发人员只需要在代码中添加相应的代码,就可以实现日志记录的功能。NLog还提供了多种格式化日志的方式,可以灵活地配置日志的输出格式,使得日志输出更加清晰明了。

NLog是一个功能强大、灵活、易用的日志记录类库,可以帮助开发人员更加方便地进行日志记录和调试,提高应用程序的可维护性和可靠性。如果你正在使用.NET平台开发应用程序,NLog是一个非常值得推荐的日志记录类库。

正文

第一步,在项目中安装nlog,通过nuget搜索nlog,安装即可。

image.png

添加NLog.config 文件,选择文件总是copy

image.png

整个nlog文件结构如下

编辑
2025-09-25
C#
00

摘要

log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。

正文

最常用的日志记录需求

  1. 日志文件保存到项目启动目录下的logs文件夹
  2. 以天为单位进行日志文件的保存

通过NuGet直接搜索log4net进行安装

image.png

项目下右键新建log4net.config文件

编辑
2025-09-25
C#
00

摘要

注册表(Registry,繁体中文版Windows操作系统称之为登录档案)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用。

正文

命令行,输入regedit

image.png

Registry类,RegistryKey类提供了操作注册表的接口

注册表主键

  • Registry.ClassesRoot: 对应于HKEY_CLASSES_ROOT主键
  • Registry.CurrentUser:对应于HKEY_CURRENT_USER主键
  • Registry.LocalMachine:对应于 HKEY_LOCAL_MACHINE主键
  • Registry.User:对应于 HKEY_USER主键
  • Registry.CurrentConfig:对应于HEKY_CURRENT_CONFIG主键
  • Registry.DynDa :对应于HKEY_DYN_DATA主键
  • Registry.PerformanceData:对应于HKEY_PERFORMANCE_DATA主键
编辑
2025-09-24
Python
00

在Python开发中,运算符是构建程序逻辑的基础工具。无论你是刚入门的新手,还是正在开发上位机应用的工程师,掌握Python运算符的使用技巧都至关重要。

很多开发者在实际项目中会遇到这样的困惑:为什么相同的逻辑用不同的运算符实现,性能差异会如此明显?为什么某些运算符组合会产生意想不到的结果?本文将从实战角度出发,深入解析Python运算符的使用技巧,帮你避开常见陷阱,提升编程效率。

通过本文,你将掌握8大类运算符的实战应用性能优化技巧以及最佳实践经验,让你的Python开发技能更上一层楼。

🔍 问题分析:为什么运算符如此重要?

在Windows下进行Python开发时,运算符不仅仅是简单的计算工具,它们是:

  • 逻辑控制的核心:条件判断、循环控制都离不开运算符
  • 数据处理的基础:数据筛选、转换、聚合都需要运算符参与
  • 性能优化的关键:合理使用运算符可以显著提升程序效率

💡 解决方案:系统掌握8大运算符类型

🧮 算术运算符:数值计算的基础

Python
# 基础算术运算 a, b = 10, 3 print(f"加法: {a} + {b} = {a + b}") print(f"减法: {a} - {b} = {a - b}") print(f"乘法: {a} * {b} = {a * b}") print(f"除法: {a} / {b} = {a / b}") print(f"整除: {a} // {b} = {a // b}") print(f"取余: {a} % {b} = {a % b}") print(f"幂运算: {a} ** {b} = {a ** b}")