首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
C#中使用Dapper实现具有单元测试的通用存储库
高效的数据管理在软件开发中至关重要。本文介绍了一种使用 Repository 和 Unit of Work 模式进行数据访问的简化方法,并通过 Dapper 和 Dapper.Contrib 的强大功能进行了增强。这些工具简化了数据操作,确保代码既可维护又高性能。我们将指导您设置通用存储库和工作单元...
5-4 9:36
321
C#中对象克隆方法集锦,详细实例讲解
在许多软件开发方案中,在 C# 中创建对象的深层副本是常见的要求。如果需要具有相同数据但独立于原始对象的对象的精确副本,则必须进行克隆。这意味着对克隆对象的更改不应影响原始对象。这在涉及复杂对象图的方案中特别有用,或者在处理保持需要保留或复制的状态而不影...
5-4 9:22
343
C#中使用规范设计模式时需要了解的内容
软件工程是一个不断发展的领域,这意味着将出现新的模式。这些设计模式帮助软件工程师简化了他们的编码过程,并在更短的时间内取得了更好的结果。其中一种模式是规范设计模式,在本文中,我们将研究 C 语言中的规范设计模式#规范设计模式是一种软件设计模式,它允许开发...
5-4 9:13
209
如何在 C# 中使用 Polly:轻松处理故障和重试
在本文中,我们将探讨如何在 C# 中使用 Polly,以及它如何帮助轻松处理错误和重试。Polly 是一个常用的 NuGet 包,它提供了一组强大的工具和模式,可以大大简化代码中的故障处理和重试机制。通过在代码中利用 Polly,我们可以处理各种类型的故障,例如网络错误或数据库...
5-4 9:4
424
你真的会使用C#中的异步Void方法吗?
async void对于许多开发人员来说,C# 中的方法是编写异步 await 代码时出现许多问题的根源。我们建议使用的模式当然是 ,但在某些情况下(例如 C# 中的事件处理程序),方法签名不兼容。async Task在本文中,我将解释为什么 C# 中的方法是你要避免的。我们将介绍一些比...
5-4 8:48
287
你知道C#接口背后的实际原理吗?
难怪在任何编程语言中最被过度使用的概念之一是接口。毕竟,他们从远古时代就与我们同在。如今,将它们添加到每个班级的做法已经变得如此普遍,以至于几乎没有人质疑它。通常,引入接口的原因通常会导致错误的用法。在本文中,我们将扩展可以将接口引入代码库的不同原因...
5-4 8:42
228
C#中的事件聚合器实现方法
_对象之间的关系_是使代码库难以理解和难以维护的原因。为了更好地理解它,我们求助于马丁·福勒(Martin Fowler):事件聚合器是间接的简单元素。在最简单的形式中,您可以让它注册到您感兴趣的所有源对象,并让所有目标对象注册到事件聚合器。事件聚合器通过将源对象中...
5-3 16:47
331
高效的数据处理:C# 的 foreach 循环
在现代软件开发的动态环境中,高效的数据处理是创建高性能应用程序的核心。作为开发人员,我们在编写代码时不断努力平衡可读性、可维护性和速度。在 C#(一种以其多功能性和健壮性而闻名的编程语言)领域,循环成为无缝导航集合的强大工具。foreachforeach 是 C# 中的语...
5-3 16:33
213
让你的程序性能起飞,Span<T>使用方法
今天谈论的是,它已经讨论了几年了,因为它已经与C#7.2一起引入,并在.NET Core 2.1及更高版本的运行时中受支持。在本文中,我们将介绍一些如何使用的示例,并讨论为什么在编写下一行代码时应该考虑使用它。SpanTSpanT📖 什么SpanT?System.SpanT是 .NET 核心的新值类...
5-3 16:21
286
RESTful API设计之道
API 是“Application Program Interface”的首字母缩写。WEB API 可用于多种应用程序,并充当两个应用程序之间的一种中介。如果要创建网站、单页应用程序 (SPA) 或移动应用程序,或者需要与服务器端的服务进行通信,或者即使一个应用程序需要与另一个应用程序(例如:...
5-3 16:6
198
<<
<
…
60
61
62
63
64
65
66
67
68
69
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
3257
C#异步定时器:精准定期执行...
3250
WPF应用中融入ASP.NET Core...
2577
在C# .NET 8中使用MediatR实...
2341
.NET Core 中集成Dapper高级...
2003
延迟等待的艺术:C#中Task.D...
1980
.NET 性能分析:.NET 8 中的...
1850
精准数字处理:C#中四舍五入...
2178
WPF中轻松生成动态图表:实...
1945
串口通信利器:RJCP.DLL.Ser...
1902
轻松上传:C#中HTTP POST mu...
1956
C# 中的并发性:使用 Blocki...
1678
C#屏幕截图:轻松捕获活动窗...
1775
C#中轻松实现二维码和条形码...
1638
C#串口通讯实战:基础功能及...
1623
深入了解SOAPCore:在.NET 6...
1601
在 .NET8 中通过 RabbitMQ实...
1447
MediatR让进程内通信如此简...
2584
ASP.NET 后端开发:全面的路...
1333
WPF中轻松操控GIF动画:WpfA...
1454
解决WPF界面卡死等待问题:...
2550
实现WPF多语言支持:简单灵...
1399
.net中OpenCVSharp+Zxing读...
1381
.NET —ToList 和 ToArray ...
1256
Microsoft.Extensions.Loggi...
1282
ASP .NET Core 8+ 中的全局...
1241
C#中Task.Run怎么用?能解决...
1351
还在到处加异常日志记录?试...
1339
打造真实感十足的速度表盘:...
1299
.NET 9中ToList 和 ToArray ...
1175
掌握System.Text.Json中的多...
1285
WPF神器揭秘:一键截图,轻...
1160
解密C#中允许HttpClient使用...
1171
掌握ImageSharp:图像处理的...
1245
深入理解WPF中的Dispatcher...
1233
轻松实现.NET应用自动更新:...
1229
C#文件编码检测:轻松解析文...
1116
使用OpenXML在.NET 6中导出E...
1197
在 ASP.NET Core Web API 中...
1074
ASP.NET Core .NET 8 中间件...
1073
.NET 中的 UUID 和 ULID:最...
1071
C# 中的弱事件 — 如何避免...
1064
解密C# Socket通信:克服粘...
1140
ZLogger v2 架构:利用 .NET...
1011
C# .NET 8中的自动映射器Aut...
1008
WPF魔法:轻松实现依赖注入...
2236
FluentFTP实战:轻松操控FTP...
1098
WPF开发新境界:MVVM设计模...
1074
WPF大展示专业指南:轻松实...
1145
C# Socket通信:灵活传输DTO...
957