Tag: .NET
All the articles with the tag ".NET".
-
C# 正则表达式完全指南:从基础到现代 .NET API
Published: at 01:50 AM系统梳理 C# 正则表达式的完整知识体系:核心方法(IsMatch/Match/Matches/Replace/Split)、RegexOptions 标志、命名捕获组、.NET 7+ 的 [GeneratedRegex] 编译时生成、NonBacktracking 安全模式,以及零分配的 Span 系列 API,并附性能对比和常见错误总结。
-
测试金字塔是个谎言——我实际用的测试分层策略
Published: at 01:40 AM测试金字塔建议以大量单元测试为基础,但这条建议诞生于 2009 年的基础设施条件。Testcontainers 和 Aspire 改变了集成测试的成本,集成测试才应该是现代测试套件的骨干,本文详述作者亲历的 Bug 案例与他实际采用的四层测试结构。
-
Ubuntu 26.04 发布:.NET 10 开箱即用,Native AOT 启动只需 3 毫秒
Published: at 07:20 AMUbuntu 26.04 LTS(Resolute Raccoon)正式发布,内置 .NET 10 开箱即用。本文介绍如何安装 .NET 10、使用 resolute 容器镜像、用 Native AOT 构建 1.4 MB 自包含二进制,以及通过 backports PPA 安装 .NET 8/9。
-
不要 .csproj 也能行:用 .NET 11 file-based app 构建完整 Web API
Published: at 01:40 AM作者用一个周末验证了一件事:.NET 11 的 file-based apps 特性能不能支撑起一个真实的 ASP.NET Core Web API。结果是能——只需一个 .cs 文件入口,发布产物是 30 MB 的单一原生二进制,感觉跟写 Go 服务没多大区别。EF Core 迁移是目前唯一没解决干净的地方。
-
C# 字符串转字节数组:UTF-8、编码方式与 Span 零分配技巧
Published: at 07:48 AMC# 字符串转字节数组是网络传输、流写入、哈希计算等场景的基础操作。本文覆盖从 Encoding.UTF8.GetBytes() 到 Span<byte>、stackalloc、u8 字面量、MemoryMarshal 的全套方法,并给出选型决策表和常见错误分析。
-
.NET 中的解释器模式:把业务规则变成可组合的表达式
Published: at 07:11 AM解释器模式(Interpreter Pattern)能把硬编码的 if-else 业务规则拆解成可组合、可配置的表达式树。本文用折扣规则引擎为例,演示如何在 .NET 中用终止表达式、逻辑组合器和配置解析器,让规则引擎摆脱重新部署的束缚。
-
C# 功能切片:按业务功能组织代码
Published: at 02:33 AM功能切片(Feature Slicing)是一种将代码按业务功能而非技术层次组织的方式。本文以 ASP.NET Core Minimal APIs 为例,展示如何构建真实的功能切片,包括请求/响应模型、处理器和端点的完整实现,无需 MediatR。
-
ASP.NET Core API 版本管理完全指南(.NET 10)
Published: at 01:16 AM每个 API 迟早都会有破坏性变更。本文讲清楚为什么要做 API 版本管理,如何区分破坏性与非破坏性变更,并用 .NET 10 Minimal API 的完整代码演示从配置到废弃再到迁移的全流程。
-
C# 字符串完全指南:.NET 字符串操作全解析
Published: at 03:56 AM从不可变性原理到 SearchValues 的 SIMD 加速,全面梳理 .NET 字符串的核心机制、常用 API、各种字面量语法、性能优化手段与比较最佳实践,帮你在不同场景下选对工具,写出既正确又高效的字符串处理代码。