首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
.NET 9 中的新增功能:更新了集合中的优先级队列
在这篇文章中,我将介绍 .NET 9(.NET 8 的后继者)中引入的最新集合功能。.NET 中的图形算法刚刚变得更酷! .NET 9 为该类引入了一个新功能:方法。这种新增功能使得处理优先级队列变得更加容易,这对于处理寻路问题和图形遍历(例如 Dijkstra 算法的变体)的软件工程...
7-19 10:29
263
.NET 9 中的新增功能:反射增强功能
虽然反射对于在运行时检查类型和与类型交互一直非常有用,但 .NET 9 更进一步,不仅允许我们创建动态程序集,还可以保存它们以供以后使用。以前,构建程序集和跟踪动态创建的类型的反射数据仅限于单个用例。这意味着我们可以即时创建程序集,但无法存储它以备将来使用。...
7-19 10:26
307
在 C# 中使用委托进行动态方法调用
在 C# 中,委托是一个强大的概念,它允许我们将方法视为值。这意味着我们可以将方法分配给变量,将它们作为参数传递给其他方法,并动态调用它们。在这篇文章中,我将通过示例实现讨论从简单到高级的委托详细信息。代表提供几个关键优势:改进的代码组织: 通过将方法定...
7-19 10:22
293
C#中具有 IAsyncEnumerable 和 System.Linq.Async 的异步处理
在现代软件开发中,响应式应用程序开发是主要要求之一。但是,处理耗时的操作(如 I/O 绑定任务和数据检索)通常会带来挑战,尤其是使用传统的同步方法时。 并且是 C# 8 中引入的两个强大功能,旨在彻底改变异步数据处理。在这篇文章中,我将讨论示例场景和功能,并揭示...
7-19 8:24
532
.NET 中的内存管理和垃圾回收
内存管理和垃圾回收是 .NET 开发的基本方面,对于构建高效且可扩展的软件应用程序非常重要。在这篇文章中,我们将讨论堆栈和堆内存,探索内存分配机制,并了解 .NET 中的垃圾回收。照片由 安妮·斯普拉特 on Unsplash了解堆栈和堆内存堆栈内存堆栈是用于执行程序代码和存...
7-19 8:18
244
你了解 C# 语言中的析构函数吗?
析构函数是一种特殊类型的方法,在对象被破坏时被调用。它们用于释放对象可能持有的未托管资源,例如文件句柄、数据库连接或未托管的内存。虽然 C# 中的垃圾回收器 (GC) 会自动管理托管对象的内存,但析构函数对于显式清理未托管的资源至关重要。在这篇文章中,我们将...
7-19 8:14
291
你需要了解的C# 语言中的 Lambda 表达式和匿名函数
Lambda 表达式和匿名函数是 C# 开发中的基本功能,为我们提供了简洁灵活的代码构造。在这篇文章中,我将讨论 lambda 表达式的基础知识,包括它们的语法、使用场景、最新的 C# 12 功能和其他一些高级功能。Lambda 表达式基础知识表达式 lambda表达式 lambda 遵循一个简单...
7-19 8:11
295
C# .NET 8 — 创建具有分布式缓存的缓存服务
介绍加速应用程序的一种常见方法是引入缓存。通常,首先想到的选项是使用 MemoryCache (RAM) 来保存一些数据,以加快检索速度。此方法适用于单体式应用程序。但是,在微服务解决方案中,每个服务都可以独立扩展,使用本地缓存可能会破坏微服务架构模式的无状态规则。...
7-19 8:0
571
ASP.NET Core 中的缓存:提高应用程序性能
缓存是显著提高应用程序性能的最简单技术之一。这是将数据临时存储在更快的访问位置的过程。您通常会缓存成本高昂的操作的结果或频繁访问的数据。缓存允许从缓存中提供对相同数据的后续请求,而不是从其源获取数据。ASP.NET Core 提供了多种类型的缓存,例如 、 和即将...
7-12 20:51
467
OOP 中的接口与抽象类
在面向对象编程 (OOP) 领域,开发人员经常会遇到两个关键概念:接口和抽象类。虽然两者都是设计类的蓝图,但它们表现出不同的特征,并在不同的场景中使用。让我们介绍一下接口和抽象类之间的区别,以便更清楚地理解它们在软件开发中的作用。接口OOP 中的接口是一个协...
7-12 20:48
291
<<
<
…
44
45
46
47
48
49
50
51
52
53
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
3257
C#异步定时器:精准定期执行...
3250
WPF应用中融入ASP.NET Core...
2577
在C# .NET 8中使用MediatR实...
2341
.NET Core 中集成Dapper高级...
2004
延迟等待的艺术:C#中Task.D...
1981
.NET 性能分析:.NET 8 中的...
1852
精准数字处理: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实...
1448
MediatR让进程内通信如此简...
2584
ASP.NET 后端开发:全面的路...
1333
WPF中轻松操控GIF动画:WpfA...
1454
解决WPF界面卡死等待问题:...
2550
实现WPF多语言支持:简单灵...
1399
.net中OpenCVSharp+Zxing读...
1382
.NET —ToList 和 ToArray ...
1257
Microsoft.Extensions.Loggi...
1282
ASP .NET Core 8+ 中的全局...
1241
C#中Task.Run怎么用?能解决...
1351
还在到处加异常日志记录?试...
1339
打造真实感十足的速度表盘:...
1302
.NET 9中ToList 和 ToArray ...
1175
掌握System.Text.Json中的多...
1285
WPF神器揭秘:一键截图,轻...
1160
解密C#中允许HttpClient使用...
1171
掌握ImageSharp:图像处理的...
1246
深入理解WPF中的Dispatcher...
1234
轻松实现.NET应用自动更新:...
1229
C#文件编码检测:轻松解析文...
1117
使用OpenXML在.NET 6中导出E...
1198
在 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