Tag: C#
All the articles with the tag "C#".
-
用 ReadOnlySpan<byte> 替掉 byte[]:零分配技巧,.NET Framework 也能用
Published: at 01:40 AMAndrew Lock 介绍了一个编译器级别的优化:把 static readonly byte[] 字段改为 static ReadOnlySpan<byte> 属性,编译器会把数据直接嵌入 PE 程序集的 metadata,彻底消除堆分配。这是编译器特性,与运行时无关,.NET Framework 配合 System.Memory 包同样受益。文章还详细说明了三个必须满足的前提,以及哪些写法会意外触发分配的坑。
-
C# 外观模式实战:用一个订单处理系统讲清楚完整实现
Published: at 11:56 PM外观模式的经典教程总爱拿「家庭影院遥控器」举例,实际开发中遇到的是支付、库存、通知三个子系统同时协调。本文从真实电商下单场景出发,完整实现 OrderFacade,覆盖设计、单元测试和依赖注入注册,一次讲清楚。
-
什么是不变量,为什么领域模型是执行它们的最佳场所
Published: at 09:20 AM本文解释了领域驱动设计中「不变量」的概念,分析了贫血模型散乱执行规则的问题,并通过私有构造器、封装状态转换和聚合根三个策略,展示如何构建始终有效的领域模型,让业务规则真正内聚在对象本身。
-
.NET AI 核心构建块:Microsoft.Extensions.AI 详解
Published: at 12:20 AM微软发布了面向 .NET 开发者的 AI 基础构建块系列,本文聚焦第一块:Microsoft.Extensions.AI(MEAI)。它提供统一的 LLM 访问接口,支持 OpenAI、OllamaSharp、Azure OpenAI 等多家提供商,并内置结构化输出、中间件、多模态内容等能力,是构建 .NET 智能应用的基础。
-
.NET + Postgres 实现高性能分布式缓存:HybridCache 实战
Published: at 12:11 AM本文逐步演示如何在 .NET 10 控制台应用中集成 Azure Database for PostgreSQL 分布式缓存与 HybridCache,从零构建一套内存层 + 持久层协同的高性能缓存方案,附完整代码和性能对比数据。
-
C# 正则表达式完全指南:从基础到现代 .NET API
Published: at 01:50 AM系统梳理 C# 正则表达式的完整知识体系:核心方法(IsMatch/Match/Matches/Replace/Split)、RegexOptions 标志、命名捕获组、.NET 7+ 的 [GeneratedRegex] 编译时生成、NonBacktracking 安全模式,以及零分配的 Span 系列 API,并附性能对比和常见错误总结。
-
C# 中 Feature Slicing 与 Clean Architecture 该选哪个?
Published: at 02:10 AMFeature Slicing 和 Clean Architecture 常被当作对立选项,其实它们解决的问题完全不同。本文从依赖方向、代码组织、团队规模等维度对比两者,并给出实际决策框架。