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