
C#杂谈
文章平均质量分 78
笨笨561
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C#定时器深度对比:System.Timers.Timer vs System.Threading.Timer性能实测与选型指南
C#定时器性能对决:Threading.Timer vs Timers.Timer 本文通过基准测试对比两种常用C#定时器: 性能表现:两者执行效率几乎相同,但Threading.Timer实现零内存分配(Timers.Timer每次产生~18KB开销) 特性差异:Threading.Timer采用直接回调模式,适合高性能后台任务;Timers.Timer使用事件模型,更易集成UI操作 选型建议: 后台服务/高频任务优先选择Threading.Timer 需要UI交互时推荐Timers.Timer(通过Sy原创 2025-05-30 14:34:09 · 1282 阅读 · 0 评论 -
泛型接口在DTO转换中的威力:类型安全与设计优雅之道
摘要: 泛型接口为DTO转换提供了类型安全的优雅解决方案。通过IDTOConvertible<TDTO>接口,实体类实现ToDTO()方法,确保编译时类型检查,消除强制转换风险。相比非泛型设计,泛型接口降低耦合度、标准化转换流程,并支持批量处理与嵌套转换。实际应用中,可结合API响应、Swagger文档生成及领域事件,提升代码可维护性和扩展性。高级技巧如嵌套DTO转换和AutoMapper集成,进一步强化灵活性。泛型接口显著优于传统方式,尤其在类型安全、可读性和架构解耦方面。原创 2025-05-30 08:11:34 · 573 阅读 · 0 评论 -
NLua揭秘:C#数组在Lua中为何化身userdata?深度解析与高效操作指南
本文探讨了C#数组通过NLua传递到Lua后变为userdata类型的原因及工作机制。userdata是Lua为跨语言交互设计的特殊类型,它能: 避免数据拷贝提升性能 保留C#原生方法和属性 确保类型安全 文章详细解析了NLua如何通过元表绑定使`userdata"可操作,并提供了实战技巧和避坑指南,帮助开发者高效处理C#与Lua的数据交互,平衡性能与灵活性。原创 2025-05-27 19:52:21 · 746 阅读 · 0 评论 -
NLua性能对比:C#注册函数 vs 纯Lua实现
本文对比了NLua开发中不同实现方式的性能差异。通过基准测试发现,纯Lua实现的At函数(6,844 ns)比C#注册到Lua的实现(9,585 ns)更快,而纯C#调用(106 ns)性能最优。测试表明跨语言调用的上下文切换开销显著,在性能敏感场景应优先考虑语言原生实现。完整代码已开源,为NLua开发中的实现选择提供数据参考。原创 2025-05-27 19:43:05 · 1309 阅读 · 0 评论 -
C#主流日志库深度对比:NLog、log4net与Serilog如何选择?
通过本文的深度对比可见,Serilog凭借现代化的设计理念在性能与功能上全面领先,而NLog在传统企业级场景仍具优势。建议新项目优先选择Serilog,老系统逐步迁移替换log4net。你的项目用哪个日志库?欢迎评论区交流实战经验!原创 2025-03-10 14:11:06 · 1971 阅读 · 0 评论 -
C#中List的元素replace与Clear直接AddRange的性能比较
C#中对List的元素更改原创 2022-06-02 13:40:16 · 1021 阅读 · 0 评论