摘要:
学习数组,需掌握其ADT定义。数组为同类型元素序列,具固定长度、连续内存、类型相同、索引从0起等特性。通过ADT定义数组,实现类包含内存管理和长度字段,支持初始化、获取/设置元素、插入/删除及释放内存等操作。掌握数据结构需理解其定义并实现。 阅读全文
摘要:
Serilog日志通过Log或ILogger接口记录,支持消息模板,属性名匹配参数。日志级别按重要性递增,如Verbose、Debug、Info等。日志事件可标记来源和标识符用于关联。提供动态级别调整及源上下文功能。 阅读全文
摘要:
数据结构是数据管理和存储的格式,包含物理结构、逻辑结构和数据运算三要素。物理结构关注数据如何存储,逻辑结构关注数据如何组织,数据运算关注数据处理。将深入学习九类数据结构。 阅读全文
摘要:
数据结构与算法是计算机科学中的两个重要概念,程序=算法+数据结构。数据结构管理数据,算法解决问题,两者相辅相成。数据类型是连接两者的桥梁,数据结构与算法既紧密相连又各有关注。 阅读全文
摘要:
C#深拷贝复杂,文中介绍了五大类N种深拷贝方法,包括简单引用类型、手动方式、序列化方式、第三方库方式和扩展视野方式,并对比了性能。建议使用AutoMapper和DeepCloner等成熟库或根据性能需求选择表达式树和Emit。 阅读全文
摘要:
文章探讨了数组新增和删除元素的多种实现方式,并通过基准测试发现Array的Copy方法性能最优。同时,介绍了使用扩展方法和帮助类封装这些方法的方法,并讨论了返回新数组与直接修改原数组的优缺点。最终选择扩展方法实现,但因扩展方法限制无法直接修改原数组。 阅读全文
摘要:
文章探讨了C#中值传递与引用传递的概念及其对值类型和引用类型变量的影响。值传递创建参数副本,不影响原变量;引用传递共享内存地址,方法内修改影响原变量。特别提到string视为值类型处理,C#中ref、out等修饰符可实现引用传递。 阅读全文
摘要:
寻找两个有序数组的中位数的六种解法,循序渐进,图文并茂,万字讲解 阅读全文
摘要:
《Redis入门》系列完成,涵盖Redis基本信息、安装、可视化工具、基础数据类型、C#/.NETCore客户端库及封装。分享学习经验,帮助初学者少走弯路,形成系统性概念。后续将分享《Redis进阶》。 阅读全文
摘要:
分享封装Redis C#库并打包成Nuget包的方法,旨在增强代码可测试性、解耦及扩展Redis功能。通过封装Redis客户端库,提供统一接口,便于测试、替换和扩展功能,同时支持依赖注入,简化配置和使用。 阅读全文