首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
在 C#中从同步代码调用异步代码
如今,许多库代码都会使用 Task 异步编程模型 (TAP)。这些方法用 async 关键字标记,调用方必须使用 await 关键字来调用这些方法。但是,如果您有一个使用同步方法调用编写的旧应用程序,则在调用异步代码时应用 await 关键字可能不切实际。在调用异步方法时,使用 aw...
8-17 17:52
95
C# 模式匹配终极指南:提高编码效率
在上一篇文章中,我们探讨了 C# 中条件语句的复杂性,重点介绍了它们如何实现动态和响应式软件开发。今天,我们将深入探讨 C# 的另一个基本特性:模式匹配。模式匹配在 C# 7.0 中引入并在后续版本中进行了改进,它使开发人员能够有效地检查对象类型和形状,从而提高代码...
8-17 17:48
109
.NET Core C#中的生成器设计模式
GOF设计模式。NET 的 Creational Pattern 类别包括 Builder Design Pattern。它用于逐步构建复杂的对象。它提供了一个用于构建产品组件的工具。我想在这篇文章中解释什么是建筑模式以及它是如何工作的。Builder 设计模式GOF 声称,Builder Design Pattern 使用循序渐进...
8-10 18:46
79
C#语言中的 SOLID 原则
SOLID 原则是一套指南,可以帮助开发人员创建更易于维护、易于理解和灵活的软件。这些原则是由 Robert C. Martin(Uncle Bob)提出的,并在面向对象编程社区中被广泛采用。在本文中,我们将探讨每个 SOLID 原则,并了解如何在 C# 中应用它们。1. Single Responsibility ...
8-10 18:34
95
C# 中的 IEnumerable 与 IQueryable
在 C# 中使用集合时,您经常会遇到的两个基本接口是 和 。两者在使用 C# 编程进行数据操作中都起着至关重要的作用,了解它们的差异和适当的用例可以显著提高代码的性能和可维护性。在这篇博文中,我将讨论 WHAT 和 ARE、它们的主要区别以及何时使用它们。什么是 IEnumer...
8-10 18:22
49
C# 中的依赖项注入:针对高并发性能进行优化
你有没有想过依赖注入 (DI) 如何影响你的应用程序的性能,尤其是在高并发环境中?如果是这样,你并不孤单。在这篇文章中,我们将探讨 DI 如何影响性能,并分享一些优化代码的实用技巧。当然,我们将包括一个真实世界的例子来使一切变得清晰!DI 对性能的影响依赖项注...
8-10 18:18
107
你知道什么时候在C#中使用 yield关键字吗?
当我们需要返回值而不遍历整个序列时,yield 很有用。这在许多不同的场景中可能是有益的。我们将看到一个基本示例,然后是另一个具有真实生活场景的示例。注意:您可以使用您最喜欢的在线 C# 编译器(如 ShartLab.io)尝试本文中显示的示例。示例 1:使用 yield,从前 1...
8-10 18:11
62
使用 .NET 中的对象池增强性能和资源管理
对象池是一种设计模式,用于管理创建和销毁成本高昂的对象的重用。在 .NET 中,对象池可以减少与对象创建和垃圾回收相关的开销,从而显著提高应用程序性能。对象池的优点性能改进:重用对象可减少创建和销毁对象所需的时间和资源。内存管理:对象池通过重用对象而不是创...
8-10 18:6
139
面向高级 .NET 开发人员的 LINQ 最佳实践
作为高级 .NET 开发人员,制定在项目中有效使用 LINQ(语言集成查询)的准则至关重要。虽然 LINQ 可以大大简化代码并提高可读性,但了解其性能影响并明智地使用它至关重要。我将提供最佳实践、指南和基准信息,以帮助您就何时以及如何使用 LINQ 做出明智的决策。了解 LI...
8-10 18:1
106
.NET 8 中通过C#实现 GenericRepository
在软件开发中,效率、可维护性和可扩展性至关重要。广泛采用的设计模式通过抽象化常见的数据访问操作、减少代码冗余和简化维护来解决这些问题。随着 .NET 8 的出现,利用此模式变得更加无缝和强大。在本文中,我们将深入探讨 C# 的概念、其优点及其在 .NET 8 中的实现。...
8-10 17:57
106
<<
<
…
16
17
18
19
20
21
22
23
24
25
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
2012
C#异步定时器:精准定期执行...
2008
WPF应用中融入ASP.NET Core...
1479
在C# .NET 8中使用MediatR实...
1162
延迟等待的艺术:C#中Task.D...
1079
WPF中轻松生成动态图表:实...
1150
C#屏幕截图:轻松捕获活动窗...
1092
.NET Core 中集成Dapper高级...
928
C#中轻松实现二维码和条形码...
883
串口通信利器:RJCP.DLL.Ser...
962
C#串口通讯实战:基础功能及...
925
C# 中的并发性:使用 Blocki...
799
解决WPF界面卡死等待问题:...
2028
.NET 性能分析:.NET 8 中的...
786
轻松上传:C#中HTTP POST mu...
1019
还在到处加异常日志记录?试...
809
ASP.NET 后端开发:全面的路...
673
WPF中轻松操控GIF动画:WpfA...
791
.NET —ToList 和 ToArray ...
638
.net中OpenCVSharp+Zxing读...
757
打造真实感十足的速度表盘:...
754
实现WPF多语言支持:简单灵...
749
C#中Task.Run怎么用?能解决...
733
精准数字处理:C#中四舍五入...
940
.NET 9中ToList 和 ToArray ...
576
掌握ImageSharp:图像处理的...
683
在 .NET8 中通过 RabbitMQ实...
560
轻松实现.NET应用自动更新:...
663
FluentFTP实战:轻松操控FTP...
659
Microsoft.Extensions.Loggi...
563
解密C# Socket通信:克服粘...
651
解密C#中允许HttpClient使用...
523
C# 中的弱事件 — 如何避免...
505
深入了解SOAPCore:在.NET 6...
626
.NET 中的 UUID 和 ULID:最...
496
MediatR让进程内通信如此简...
1711
WPF魔法:轻松实现依赖注入...
1717
WPF神器揭秘:一键截图,轻...
479
C#文件编码检测:轻松解析文...
486
深入理解WPF中的Dispatcher...
590
掌握System.Text.Json中的多...
582
WPF开发新境界:MVVM设计模...
576
使用OpenXML在.NET 6中导出E...
562
C# Socket通信:灵活传输DTO...
553
WPF大展示专业指南:轻松实...
637
ASP .NET Core 8+ 中的全局...
397
ASP.NET Core .NET 8 中间件...
392
.NET配置文件大揭秘:轻松读...
513
实用指南:C#中优雅更新GUI...
498
在 C# 中进行科学计算,以任...
368