首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
揭开.NET 中 async/await 的神秘面纱:隐藏代价与优化之道
作为资深的.NET 开发人员,我们都曾将 async/await 用作处理异步操作的常用模式。它简洁、直观,并且使我们的代码更易于维护。然而,在这种优秀的语法背后,隐藏着一套复杂的机制,一旦被误用,可能会对应用程序的性能产生重大影响。本文将揭示其中隐藏的代价,并探讨每...
2-26 8:14
142
解锁 Blazor 应用性能密码:10 条微软官方最佳实践全解析
Blazor 正在革新 Web 开发,它使开发者能够使用 C# 而非 JavaScript 来构建交互式 Web 应用程序。无论你使用的是 Blazor WebAssembly(WASM)还是 Blazor Server,优化应用程序的性能都是实现无缝、极速用户体验的关键一步。但要如何确保你的 Blazor 应用程序能发挥出最...
2-26 8:11
248
揭秘.NET 内存优化:从跟踪分配到杜绝泄漏的实战秘籍
优化内存使用是.NET 性能调优的一个关键方面。过多的堆分配可能会导致频繁的垃圾回收(GC)周期,从而影响应用程序的响应能力和吞吐量。在本文中,我们将探讨如何跟踪内存分配情况、识别内存泄漏问题,以及优化对象的生命周期,以提升.NET 应用程序的性能。理解.NET 中...
2-26 8:10
210
从秒级到毫秒级:如何通过优化缓存策略提升 .NET 微服务性能
当我们的团队注意到 API 响应时间从毫秒级上升到秒级时,我们知道出了问题。但我们没想到的是,原本旨在提高性能的缓存策略实际上才是问题的根源。接下来,让我们一起探索、调试并最终解决 .NET 微服务架构中的复杂缓存问题。🔹 初始架构我们的系统为全球支付平台处理...
2-25 7:59
200
C#开发者必知的10个冷门特性:让你的代码更高效、更智能
你可能已经听说过 C# 的强类型系统,或者它是微软对 Java 的回应。但今天,我们将深入探讨一些即使是经验丰富的开发者也可能不知道的 C# 奇妙特性。让我们一起来探索这门复杂语言中一些令人惊叹的特性,它们可能会改变你编写代码的方式。1. 神秘的 default 操作符有一个...
2-22 8:7
141
优化大型JSON性能:提升.NET应用程序效率的5个关键策略
JSON 是现代应用程序中广泛使用的数据交换格式,但在处理大型 JSON 对象时,性能问题可能会迅速显现。从高内存使用到缓慢的序列化以及增加的网络延迟,未优化的 JSON 会显著降低 .NET 应用程序的效率。在本文中,我们将探讨为什么大型 JSON 对象会拖慢你的 .NET 应用程...
2-22 8:3
221
C#开发者必知的10个生产力陷阱:如何避免常见错误并编写高效代码
这并不是因为缺少分号或语法错误——而是一个根本性的设计缺陷。当时,我认为自己工作效率很高,眨眼间就能写出几行 C# 代码。实际上,我是在堆积技术债务,最终拖慢了整个项目的进度。由作者使用 Canva 创建多年来,我观察到许多开发者——包括我自己——都曾陷入类似...
2-22 7:51
157
25个被忽视的C#实践:从性能优化到代码质量的全面提升
我开发过从企业级应用程序到性能关键型系统的各种项目,然而在这些年里,我注意到一件奇怪的事情——每个人都在谈论相同的最佳实践。保持代码 DRY(不要重复自己)。使用依赖注入。遵循 SOLID 原则。今天,我想分享 25 个 C# 实践中被谈论得不够多的技巧。这些习惯将经...
2-21 8:22
153
攻克十大 .NET 性能反模式,提升应用效能与可扩展性
性能瓶颈会降低应用程序的效率、可扩展性和用户体验。许多 .NET 开发者在不知不觉中陷入了一些反模式,随着时间的推移,这些反模式会降低应用程序的性能。在本文中,我们将探讨十大 .NET 性能反模式,解释它们为何会产生问题,并展示如何使用优化后的解决方案来修复它们...
2-4 17:36
200
掌握 C# 中的 Fluent Builder 模式:从基础到高级方案
流畅构建器模式(Fluent Builder pattern)是一种强大的设计模式,它通过更具可读性和可维护性的接口来创建复杂对象。本文将深入探讨如何在 C# 中实现流畅构建器模式,探索基本和高级场景,并分析 .NET 标准库中的实际示例。为何使用流畅构建器模式?在深入实现之前,让...
2-4 17:32
177
<<
<
…
18
19
20
21
22
23
24
25
26
27
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
3257
C#异步定时器:精准定期执行...
3246
WPF应用中融入ASP.NET Core...
2575
在C# .NET 8中使用MediatR实...
2341
.NET Core 中集成Dapper高级...
2002
延迟等待的艺术:C#中Task.D...
1979
.NET 性能分析:.NET 8 中的...
1850
精准数字处理:C#中四舍五入...
2176
WPF中轻松生成动态图表:实...
1944
串口通信利器:RJCP.DLL.Ser...
1899
轻松上传:C#中HTTP POST mu...
1954
C# 中的并发性:使用 Blocki...
1675
C#屏幕截图:轻松捕获活动窗...
1775
C#中轻松实现二维码和条形码...
1638
C#串口通讯实战:基础功能及...
1621
深入了解SOAPCore:在.NET 6...
1600
在 .NET8 中通过 RabbitMQ实...
1446
MediatR让进程内通信如此简...
2584
ASP.NET 后端开发:全面的路...
1333
WPF中轻松操控GIF动画:WpfA...
1452
解决WPF界面卡死等待问题:...
2549
实现WPF多语言支持:简单灵...
1398
.net中OpenCVSharp+Zxing读...
1380
.NET —ToList 和 ToArray ...
1254
Microsoft.Extensions.Loggi...
1282
ASP .NET Core 8+ 中的全局...
1240
C#中Task.Run怎么用?能解决...
1349
还在到处加异常日志记录?试...
1337
打造真实感十足的速度表盘:...
1298
.NET 9中ToList 和 ToArray ...
1175
掌握System.Text.Json中的多...
1284
WPF神器揭秘:一键截图,轻...
1158
解密C#中允许HttpClient使用...
1170
掌握ImageSharp:图像处理的...
1243
深入理解WPF中的Dispatcher...
1233
轻松实现.NET应用自动更新:...
1228
C#文件编码检测:轻松解析文...
1115
使用OpenXML在.NET 6中导出E...
1197
ASP.NET Core .NET 8 中间件...
1072
在 ASP.NET Core Web API 中...
1072
.NET 中的 UUID 和 ULID:最...
1071
C# 中的弱事件 — 如何避免...
1064
解密C# Socket通信:克服粘...
1136
ZLogger v2 架构:利用 .NET...
1009
C# .NET 8中的自动映射器Aut...
1008
WPF魔法:轻松实现依赖注入...
2236
FluentFTP实战:轻松操控FTP...
1096
WPF开发新境界:MVVM设计模...
1072
WPF大展示专业指南:轻松实...
1142
C# Socket通信:灵活传输DTO...
957