首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
Switch语句已过时?深入探讨C#中多态性与条件判断的最佳实践抉择
一次代码评审的启示最近在代码评审中收到这样一条宝贵建议:“这个switch语句是反模式,建议改用多态性实现。”这引发了我的思考——为何现代软件设计要避免switch式多态?如果你使用过C#(或其他面向对象语言),或许也遇到过类似建议。让我们深入探讨这种反模式的根源...
3-15 15:51
69
策略模式与委托实战指南:用C#实现动态税务计算系统
本教程将掌握两大核心技能:C#中的策略模式与委托,并通过实战案例演示实时应用方法。策略模式解析当需要在运行时动态切换多种算法且不修改客户端代码时,策略模式(Strategy Pattern)能完美解决问题。在.NET Core中,这种行为型设计模式通过定义算法族、封装算法并使...
3-15 15:48
65
Repository Pattern已死?深入剖析.NET中的设计模式争议与最佳实践
一场激烈的技术辩论在.NET生态中,鲜有话题能像**仓储模式(Repository Pattern)**这般引发激烈争论。有些开发者奉其为整洁架构的基石,另一些人则认为它是被Entity Framework Core(EF Core)淘汰的冗余设计。那么,仓储模式真的消亡了吗?还是说它正在进化?本文将剖...
3-15 15:43
97
C#开发者必知的100个黑科技(后50)!从主构造函数到源生成器全面掌握
StringBuilder:字符串操作的利器处理大型字符串或频繁拼接时,StringBuilder是最佳选择。相比普通字符串拼接,它的效率更高。var sb = new StringBuilder(); sb.Append(Hello, ); sb.Append(world!); string result = sb.ToString(); TryParse:安全解析的守护者用...
3-15 15:39
60
C#开发者必知的100个黑科技(前50)!从主构造函数到源生成器全面掌握
拥抱主构造函数我曾重构过一个拥有多个构造函数的类,每个构造函数都初始化相同的属性。代码混乱不堪。直到我发现C#的主构造函数——它允许直接在类声明中定义参数,彻底消除了样板代码。public class Person(string name, int age) { public string Name { get; ...
3-15 15:36
72
内存管理终极指南!揭秘.NET高并发系统性能飞跃的7大核心策略
作为管理大型.NET应用的首席开发者,日常工作中最严峻的挑战是如何在极致压榨内存的同时保持性能稳定。面对大数据处理或高吞吐系统,不当的内存使用会导致高延迟、频繁GC暂停甚至应用崩溃。本文将揭示经过生产验证的.NET内存优化秘技。1. .NET内存管理核心机制托管堆的...
3-8 19:33
101
ASP.NET Core JWT+Cookie双重认证实战指南,Swagger集成与Axios全流程解析
许多.NET开发者在使用ASP.NET Core Identity实现基础认证时常常陷入困境。本文将提供一份纯实战指南,演示如何实现支持[Authorize]特性的JWT令牌+Cookie双重认证方案。这种方案特别适合需要同时满足API认证和Swagger登录的场景,并附赠SPA应用中使用Axios进行Cookie认证...
3-8 19:27
98
90%性能飞跃!揭秘.NET JSON序列化中的隐藏性能杀手与终极优化方案
JSON序列化是许多.NET应用程序中悄无声息的性能杀手。这一底层操作往往在初次实现后就被永久忽视,却让我们在生产环境中付出了惨痛代价。我们的团队曾在排查微服务API高负载瓶颈时深有体会——既不是数据库查询,也不是复杂业务逻辑,而是JSON序列化吞噬了近40%的API执...
3-8 19:22
186
.NET数据访问层设计终极对决:Entity Framework vs Repository模式 vs工作单元
在构建.NET应用时,数据访问层设计常引发架构争议:该直接使用Entity Framework,还是引入Repository模式或Repository+工作单元组合? 本文将深度解析三种方案的优缺点,助你做出明智选择。方案一:直接使用Entity Framework核心思想:直接通过DbContext操作数据,无需...
3-2 9:38
181
在 .NET 应用中集成大语言模型:使用 Microsoft.Extensions.AI 的实战指南
我一直在尝试将大语言模型(LLMs)集成到 .NET 应用中的不同方法,并希望分享我在使用 Microsoft.Extensions.AI 时学到的东西。大语言模型(LLMs)已经彻底改变了我们构建 AI 驱动应用的方式。虽然许多开发者熟悉基于云的解决方案(如 OpenAI 的 GPT 模型),但得益于像...
3-2 9:37
143
<<
<
…
6
7
8
9
10
11
12
13
14
15
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
3042
C#异步定时器:精准定期执行...
3037
WPF应用中融入ASP.NET Core...
2367
在C# .NET 8中使用MediatR实...
2090
延迟等待的艺术:C#中Task.D...
1809
.NET Core 中集成Dapper高级...
1767
.NET 性能分析:.NET 8 中的...
1675
WPF中轻松生成动态图表:实...
1767
精准数字处理:C#中四舍五入...
1932
串口通信利器:RJCP.DLL.Ser...
1685
轻松上传:C#中HTTP POST mu...
1768
C#屏幕截图:轻松捕获活动窗...
1622
C# 中的并发性:使用 Blocki...
1488
C#中轻松实现二维码和条形码...
1428
C#串口通讯实战:基础功能及...
1468
深入了解SOAPCore:在.NET 6...
1404
在 .NET8 中通过 RabbitMQ实...
1257
解决WPF界面卡死等待问题:...
2421
ASP.NET 后端开发:全面的路...
1186
WPF中轻松操控GIF动画:WpfA...
1298
MediatR让进程内通信如此简...
2363
实现WPF多语言支持:简单灵...
1247
.NET —ToList 和 ToArray ...
1115
.net中OpenCVSharp+Zxing读...
1229
还在到处加异常日志记录?试...
1214
C#中Task.Run怎么用?能解决...
1214
Microsoft.Extensions.Loggi...
1103
ASP .NET Core 8+ 中的全局...
1047
打造真实感十足的速度表盘:...
1169
.NET 9中ToList 和 ToArray ...
1029
解密C#中允许HttpClient使用...
1017
WPF神器揭秘:一键截图,轻...
1004
掌握System.Text.Json中的多...
1123
掌握ImageSharp:图像处理的...
1114
深入理解WPF中的Dispatcher...
1094
轻松实现.NET应用自动更新:...
1088
C#文件编码检测:轻松解析文...
950
C# 中的弱事件 — 如何避免...
933
.NET 中的 UUID 和 ULID:最...
932
ASP.NET Core .NET 8 中间件...
925
使用OpenXML在.NET 6中导出E...
1027
在 ASP.NET Core Web API 中...
899
解密C# Socket通信:克服粘...
1005
WPF魔法:轻松实现依赖注入...
2108
FluentFTP实战:轻松操控FTP...
981
C# .NET 8中的自动映射器Aut...
850
ZLogger v2 架构:利用 .NET...
839
WPF大展示专业指南:轻松实...
1016
WPF开发新境界:MVVM设计模...
909
C# Socket通信:灵活传输DTO...
854