首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
C# 数据访问:使用 Dapper 轻松连接 SQL Server
有没有觉得将 C# 连接到 SQL Server 非常困难?它不一定是。让我们看看 Dapper 如何让它变得简单。当 ADO.NET 感觉太复杂时使用 ADO.NET 可能非常棘手。它为您提供了很多控制权,但需要设置许多部分。不适合日常使用。实体框架:有用还是困难?然后是**实体框架 (EF)...
9-20 19:39
275
Null 运算符和在 C# 中处理 Null 值
在 C# 中,处理 null 值对于避免常见的运行时错误(如 NullReferenceException)至关重要。本文探讨了 C# 用于管理 null 值的工具,包括 null 合并运算符、可为 null 的类型和集合中的安全做法。介绍处理 null 值是 C# 编程的一个关键方面,因为忽略它可能会导致 NullRe...
9-20 19:30
327
C# 在列表中查找元素:比较 find 和 FirstOrDefault 的性能
上面的图片是我的同事 Bob 今天早上转发给我的。当我看到图片的内容时,我吓了一跳。因为我在写的代码中都使用了 and,在我看来,两者几乎是等价的,没有根本的区别。今天,看到人们提供了测试数据,我似乎应该将 all 替换为以获得最佳解决方案。FindFirstOrDefaultFirs...
9-20 19:23
305
在 .NET 中使用 Open Telemetry 进行跟踪
在处理微服务(例如我们的项目)时,我们使用的工具之一是 Tracing 工具。Jaeger 就是其中之一。在本文中,我将解释如何使用 Jaeger 进行跟踪,以及我们如何从手动跟踪中受益。让我们开始吧!建筑如您所见,我们有 3 项服务。他们始终使用 gRPC 或 Kafka 总线进行通信。...
9-20 19:9
350
如何保护您的 C# 应用程序
1. 输入验证输入验证可防止任何未经授权的用户或其脚本更深入地渗透到代码中以访问敏感信息。换句话说,输入验证层可以防止在代码中执行无效数据或脚本。public bool IsValidEmail(string email) { try { var addr = new System.Net.Mail.MailAddre...
9-20 12:46
215
在.net9中C#新的 Lock 对象
随着 .NET 9 的发布,最令人期待的功能之一是新对象。此新增功能引入了一种更灵活、更强大的机制,用于管理多线程应用程序中的同步。它通过提供更好的控制、改进的调试和更大的灵活性来增强传统的锁定方法。Lock如何运作lock该语句确保允许一个线程执行代码的关键部分,...
9-19 18:40
608
C#语言中的抽象工厂设计模式
抽象工厂设计模式是一种创建模式,它提供了一个接口,用于创建相关或依赖对象的族,而无需指定其具体类。在需要创建由通用主题相关但实现不同的对象的情况下,它特别有用。什么是抽象工厂模式?Abstract Factory Pattern 允许您创建可以创建其他工厂的超级工厂。这个超...
9-19 18:32
274
了解 C# 语言中的表达式树
在 C# 中,表达式树是一项强大的功能,它允许开发人员以树状数据结构表示代码。与立即编译和执行的常规 C# 代码不同,表达式树将代码分解为一系列表达式,这些表达式可以在运行时进行检查、修改甚至动态执行。在需要操作或分析代码的方案中,例如生成动态查询、实现域特...
9-18 18:27
284
在C#语言中向现有对象动态添加属性
在 C# 中向现有对象动态添加属性并不像在 Python 或 JavaScript 中那样容易,因为 C# 是一种强类型语言。但是,我们可以通过使用一些技术和库来实现这一点,例如扩展方法、字典等。本文将详细介绍如何在 C# 中实现这一点。ExpandoObject方法 1:使用ExpandoObjectExpand...
9-18 18:25
386
C# 中的 MemoryCache使用方法
MemoryCache 是 C# 应用程序的内存中缓存的标准实现。它有助于提高性能和可扩展性,但代价是内存消耗增加。本文介绍了有关何时以及如何使用 .MemoryCache我们什么时候应该使用内存缓存?内存中缓存几乎适用于所有类型的应用程序:移动、服务器端或客户端 Web、云和桌面...
9-18 18:18
456
<<
<
…
33
34
35
36
37
38
39
40
41
42
…
>
>>
阅读排行
深入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通信:克服粘...
1139
ZLogger v2 架构:利用 .NET...
1011
C# .NET 8中的自动映射器Aut...
1008
WPF魔法:轻松实现依赖注入...
2236
FluentFTP实战:轻松操控FTP...
1098
WPF开发新境界:MVVM设计模...
1074
WPF大展示专业指南:轻松实...
1145
C# Socket通信:灵活传输DTO...
957