首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
C# 中的任务并行库 (TPL)
TPL 在 C# 中代表“任务并行库”。它是 .NET Framework 提供的一组类和 API,用于简化编写_并行和异步代码的过程。TPL 使开发人员能够更轻松地利用多核处理器并编写可同时执行任务的代码,从而提高其应用程序的性能。TPL 中的概念是“Task”类,它表示可以与其他任务同...
3-12 18:17
22
了解 .Net Core🎡 中的垃圾回收
了解垃圾回收.NET Core 中的垃圾回收是一项自动内存管理功能,用于处理应用程序的内存分配和释放。.NET GC 在托管堆上运行,托管堆是用于存储 C# 应用程序中实例化的对象的内存区域。GC 的工作🔄原理概括地说,.NET GC 的工作方式分为三个步骤:标记:GC 从根开始遍历...
3-12 16:29
22
如何在 .NET 的依赖注入配置中注册装饰器?
在本文中,我们将介绍几种不同的方法,以在 .NET 的依赖项注入配置中注册装饰器_(代理、包装器)。_此外,我们还将了解每个选项的优缺点。有时您可能希望在类之上实现包装器。这通常是为了扩展您正在包装的类的行为,并遵守开闭原则。例如,您有一个类:UsersRepositor...
3-12 16:19
33
通过实际示例了解 C# 中的 SOLID 原则
SOLID 原则是一组五项设计原则,旨在使软件设计更易于理解、灵活和易于维护。如果正确应用这些原则,可以产生干净而健壮的代码。在本文中,我们将深入探讨每个 SOLID 原则,并提供 C# 中的实际示例。单一责任原则 (SRP)单一责任原则指出,一个类应该只有一个改变的理...
3-12 16:14
22
C# 中的类型转换
揭开 C# 转换的神秘面纱:基础知识想象一下,在这样一个世界里,整数是王道,但有时,你需要浮点数的灵活性。这就是选角的用武之地。这是将数据从一种数据类型转换为另一种数据类型的艺术,就像为变量更换服装一样。在最简单的形式中,强制转换涉及显式告诉编译器您想要...
3-12 15:56
23
.NET 中的 3 个多线程示例
多线程似乎是我的听众非常感兴趣的东西。事实上,从一开始,我浏览次数最多的文章之一就是关于任务与线程的:软件面试问题:.NET 中的任务 VS 线程.NET 中的任务和线程有什么区别:初级到高级线程确实是软件工程师可以拥有的最重要的技能。这就是为什么在以后的文章中,...
3-12 15:53
22
C# 让后台服务变得更加容易。
几个月前,我写了一篇关于ASP.net 后台服务的文章。几天前,我把它展示给一位同事,他发现我的解决方案存在一些问题,这让我感到惊讶:我从控制器而不是业务层将工作发送到后台服务。我的解决方案不容易进行单元测试。我的解决方案不是通用的。所以我回到了绘图板,想出...
3-12 15:48
21
在 .NET 8 中使用 WireMock.NET 进行集成测试
在这篇文章中,我们将介绍如何创建和管理模拟 API,以便使用 WireMock.NET 进行集成测试。集成测试保证了软件系统内不同组件之间的无缝通信,并且识别并解决了任何潜在问题。这种测试方法对于验证我们的应用程序与内部和外部 API 之间的交互至关重要,确保遵守预定义的...
3-11 19:37
21
使用 ValueTask 异步操作的节省内存
在现代 C# 编程中,了解异步构造(如 和 )之间的细微差别对于优化内存使用率和应用程序性能至关重要。这个故事深入探讨了一个真实世界的场景,在这个场景中,使用可以节省大量内存。通过实际用例和基准分析,我们探讨了如何有效地处理异步操作,同时最大限度地减少内存...
3-8 8:5
24
快如进行快速 LINQ 查询:立即提升 C# 应用性能
LINQ 是语言集成查询的首字母缩写词,是 C# 中的一项强大功能,使开发人员能够使用既富有表现力又易于理解的语法对集合和数据库执行复杂的查询。然而,优化 LINQ 查询以提高效率对于确保最佳应用程序性能至关重要。本文深入探讨了在 C# 中增强 LINQ 查询性能的各种策略...
3-8 7:57
43
<<
<
…
31
32
33
34
35
36
37
38
39
40
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
1038
C#异步定时器:精准定期执行...
1108
WPF应用中融入ASP.NET Core...
700
解决WPF界面卡死等待问题:...
1757
WPF中轻松生成动态图表:实...
590
C#屏幕截图:轻松捕获活动窗...
572
串口通信利器:RJCP.DLL.Ser...
561
C#串口通讯实战:基础功能及...
537
延迟等待的艺术:C#中Task.D...
390
C#中轻松实现二维码和条形码...
363
FluentFTP实战:轻松操控FTP...
400
.NET —ToList 和 ToArray ...
261
掌握ImageSharp:图像处理的...
378
解密C# Socket通信:克服粘...
373
WPF开发新境界:MVVM设计模...
376
WPF中轻松操控GIF动画:WpfA...
368
C# 中的并发性:使用 Blocki...
233
C#中Task.Run怎么用?能解决...
329
实现WPF多语言支持:简单灵...
328
还在到处加异常日志记录?试...
324
在C# .NET 8中使用MediatR实...
194
轻松实现.NET应用自动更新:...
316
打造真实感十足的速度表盘:...
313
ASP.NET 后端开发:全面的路...
187
.net中OpenCVSharp+Zxing读...
308
.net中连接数据库太麻烦?试...
308
.NET 性能分析:.NET 8 中的...
184
C#文件编码检测:轻松解析文...
195
.NET配置文件大揭秘:轻松读...
301
C# Socket通信:灵活传输DTO...
298
.NET 9中ToList 和 ToArray ...
174
深入理解WPF中的Dispatcher...
281
Microsoft.Extensions.Loggi...
187
优化代码性能:C#中轻松测量...
276
WPF大展示专业指南:轻松实...
386
C#语言中从Switch语句转换到...
152
WPF魔法:轻松实现依赖注入...
1378
C# Switch 语句进阶:模式匹...
269
.NET Core 中集成Dapper高级...
145
MediatR让进程内通信如此简...
1364
.net下优秀的日志框架Serilo...
1386
C# 中的弱事件 — 如何避免...
141
.net中通过定时任务框架Quar...
257
C# .NET 8 — 创建具有分布...
134
.net 下优秀的DI框架推荐,...
248
掌握System.Text.Json中的多...
246
C#实例方法和静态方法有区别...
255
探索深度克隆的极致:C#开源...
245
.net中各种加解密用这一个库...
242
改一个对象类型,for循环耗...
242