上个月,我几乎放弃了把AI真正融入日常C#开发的想法。每次尝试都感觉 overhead 大于收益,直到我做了个为期两周的集中实验——把 Claude Sonnet 4.6 作为主力AI助手,专门用于 C# 13 和 .NET 9 项目。

说实话,开头几天很 clumsy。我把代码贴进去要求重构,返回的结果技术上没错,但完全没理解我们的领域驱动设计。我硬学了一课:像对待初级开发一样,必须给足上下文窗口和明确意图。

打开网易新闻 查看精彩图片

转折点出现在我开始投喂架构约束、具体设计模式,甚至通过 Visual Studio 2026 里的 MCP(Model Context Protocol)接入内部 wiki 之后。上周二重构一个老旧的 IQueryable 扩展方法时,我给了它现有方法、PaginationRequest DTO,以及新过滤逻辑的描述。返回的不只是能跑的代码,而是"属于我们代码库"的代码。

打开网易新闻 查看精彩图片

我的 prompt 大致是:需要让这个 IQueryable 扩展支持基于 FilterCriteria 列表的动态过滤,每个条件包含 PropertyName、Operator(如"eq""gt")和 Value,现有方法只处理基础分页和排序,用 System.Linq.Dynamic.Core 构建动态表达式。Claude 理解了动态 LINQ 的需求,处理了多种运算符,最终输出直接可用。

打开网易新闻 查看精彩图片

两周下来,同一功能的开发时间对比清晰可见:没有AI辅助时反复在文档和实现之间切换,有了合适的上下文后,Claude 4.6 确实把"写代码"变成了"审代码"。关键不是工具本身,而是你愿意花多少前期成本建立上下文协议。