首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
C# 中的命令模式:从基础到高级
命令模式是一种行为设计模式,它将请求转换为包含有关请求的信息的独立对象。这种解耦允许用户使用操作参数化对象,延迟操作的执行或将其排队,并支持可撤消的操作。在这篇博文中,我们将深入探讨 C# 中的命令模式,从基础开始,然后转向高级用例。命令模式的基础知识概...
2-18 19:33
116
C# 中的策略模式:从基础到高级
策略模式是一种行为设计模式,支持在运行时选择算法的实现。代码不是直接实现单个算法,而是接收运行时指令,说明要使用一系列算法中的哪种算法。在这篇博客文章中,我们将探讨 C# 中的策略模式,从基础知识开始,逐步发展到高级方案。策略模式的基础知识概念策略模式是...
2-18 19:29
181
C# 生成器模式:逐步构造对象
介绍构建器模式是一种独特的设计模式,主要用于对象构造。特别是在需要用多个零件构造对象的情况下,构建器模式会大放异彩。本文深入探讨了 C# 生成器模式,从其基础知识到更高级的应用程序。第 1 部分:基础知识什么是构建器模式?在对象由多个部分构造或具有许多可选...
2-18 19:28
108
C# 线程:从基本到高级
线程是计算机科学中的一个基本概念,它允许多个操作并发运行,从而充分利用可用资源并提高应用程序性能。在 C# 中,命名空间提供了一组丰富的类来管理和控制线程。在这篇博文中,我们将通过示例从基本概念到高级概念探讨 C# 中的线程处理。System.Threading1. 线程的基...
2-18 19:24
120
如何使用 SQL、LINQ ADO.NET 在 C# 中查询 JSON
在当今互联互通的世界中,数据堆积得非常快。我们生成的数据比人类历史上任何时候都多,而且很多数据都以非关系格式存储,如JSON文档。JSON已经成为现代应用程序的一种无处不在的格式,用于配置文件、API、客户端和服务器之间的数据传输、数据存储等。鉴于其简单性,处...
2-18 19:21
135
.NET 服务运行状况💚监视
了解网络的骨干网可以使您在域上占据优势。这就是DNS(域名系统)发挥作用的地方。它就像互联网的电话簿,将人性化的域名转换为计算机用来通信的 IP 地址。但是,如果您想窥探引擎盖下,看看这个翻译的实际效果呢?这里是 DnsClient 库,它提供了一种与 DNS 服务器交互...
2-18 19:13
93
C# 中的并发性:使用 BlockingCollection 实现生产者-消费者模式
介绍在快节奏的现代软件开发领域,并发是一个基石概念。并发支持同时执行多个任务,从而优化程序性能和响应能力。由于能够跨线程或进程分配工作,与顺序执行相比,我们可以显著减少处理时间。无论是通过单个环境中的处理器时间切片实现,还是跨分布式系统(如容器和服务...
2-18 19:6
1046
避免 C# 中的代码异味:最佳实践和示例
代码异味是代码中潜在问题的指标,这些问题可能会导致维护挑战、可读性降低和引入错误的可能性增加。作为 C# 开发人员,了解这些代码气味并采用最佳做法来编写干净、可维护且高效的代码至关重要。在本文中,我们将探讨 C# 中常见的代码异味,并提供示例以及避免它们的策...
2-18 19:1
132
Serilog vs log4net vs NLog — 详细比较
在开发可靠的 .NET 应用程序时,不可避免地需要高效可靠的日志记录机制。幸运的是,你有选择。但是如何选择呢?让我们深入了解日志库的世界,并比较三个最受欢迎的库:Serilog、log4net 和 NLog。介绍日志记录通常似乎是事后才想到的,对吧?当您尝试调试那段无法运行的...
2-18 15:56
331
C# 匿名类型、var 和 dynamic 的演进史
#1 历史随着C#的发展,语言的内容不断丰富,开发变得更加方便快捷,C#的锐度无疑显露出来。C# 语言自诞生以来一直是一种强类型语言。这种性质今天没有改变,我认为将来也不会改变。由于它是一种强类型语言,因此编写任何程序都需要满足以下基本条件:变量声明必须指明其...
2-18 15:49
83
<<
<
…
56
57
58
59
60
61
62
63
64
65
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
2400
C#异步定时器:精准定期执行...
2416
WPF应用中融入ASP.NET Core...
1810
在C# .NET 8中使用MediatR实...
1557
延迟等待的艺术:C#中Task.D...
1308
WPF中轻松生成动态图表:实...
1355
.NET Core 中集成Dapper高级...
1203
C#屏幕截图:轻松捕获活动窗...
1270
串口通信利器:RJCP.DLL.Ser...
1226
.NET 性能分析:.NET 8 中的...
1101
C# 中的并发性:使用 Blocki...
1046
轻松上传:C#中HTTP POST mu...
1274
C#中轻松实现二维码和条形码...
1043
C#串口通讯实战:基础功能及...
1095
精准数字处理:C#中四舍五入...
1292
解决WPF界面卡死等待问题:...
2150
ASP.NET 后端开发:全面的路...
872
WPF中轻松操控GIF动画:WpfA...
975
在 .NET8 中通过 RabbitMQ实...
821
还在到处加异常日志记录?试...
941
深入了解SOAPCore:在.NET 6...
937
.NET —ToList 和 ToArray ...
811
实现WPF多语言支持:简单灵...
914
.net中OpenCVSharp+Zxing读...
909
打造真实感十足的速度表盘:...
906
C#中Task.Run怎么用?能解决...
891
MediatR让进程内通信如此简...
1950
.NET 9中ToList 和 ToArray ...
715
解密C#中允许HttpClient使用...
706
Microsoft.Extensions.Loggi...
726
掌握ImageSharp:图像处理的...
813
掌握System.Text.Json中的多...
787
轻松实现.NET应用自动更新:...
776
.NET 中的 UUID 和 ULID:最...
653
FluentFTP实战:轻松操控FTP...
773
解密C# Socket通信:克服粘...
771
深入理解WPF中的Dispatcher...
765
C#文件编码检测:轻松解析文...
648
C# 中的弱事件 — 如何避免...
633
ASP .NET Core 8+ 中的全局...
629
WPF神器揭秘:一键截图,轻...
612
WPF魔法:轻松实现依赖注入...
1842
ASP.NET Core .NET 8 中间件...
603
使用OpenXML在.NET 6中导出E...
706
WPF开发新境界:MVVM设计模...
662
C# Socket通信:灵活传输DTO...
653
WPF大展示专业指南:轻松实...
756
深入FileSystemWatcher:C#...
755
.NET配置文件大揭秘:轻松读...
631
实用指南:C#中优雅更新GUI...
620