首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
.NET 中的内存管理和垃圾回收
内存管理和垃圾回收是 .NET 开发的基本方面,对于构建高效且可扩展的软件应用程序非常重要。在这篇文章中,我们将讨论堆栈和堆内存,探索内存分配机制,并了解 .NET 中的垃圾回收。照片由 安妮·斯普拉特 on Unsplash了解堆栈和堆内存堆栈内存堆栈是用于执行程序代码和存...
7-19 8:34
23
你了解 C# 语言中的析构函数吗?
析构函数是一种特殊类型的方法,在对象被破坏时被调用。它们用于释放对象可能持有的未托管资源,例如文件句柄、数据库连接或未托管的内存。虽然 C# 中的垃圾回收器 (GC) 会自动管理托管对象的内存,但析构函数对于显式清理未托管的资源至关重要。在这篇文章中,我们将...
7-19 8:41
37
你需要了解的C# 语言中的 Lambda 表达式和匿名函数
Lambda 表达式和匿名函数是 C# 开发中的基本功能,为我们提供了简洁灵活的代码构造。在这篇文章中,我将讨论 lambda 表达式的基础知识,包括它们的语法、使用场景、最新的 C# 12 功能和其他一些高级功能。Lambda 表达式基础知识表达式 lambda表达式 lambda 遵循一个简单...
7-19 8:28
32
C# .NET 8 — 创建具有分布式缓存的缓存服务
介绍加速应用程序的一种常见方法是引入缓存。通常,首先想到的选项是使用 MemoryCache (RAM) 来保存一些数据,以加快检索速度。此方法适用于单体式应用程序。但是,在微服务解决方案中,每个服务都可以独立扩展,使用本地缓存可能会破坏微服务架构模式的无状态规则。...
7-19 8:39
134
ASP.NET Core 中的缓存:提高应用程序性能
缓存是显著提高应用程序性能的最简单技术之一。这是将数据临时存储在更快的访问位置的过程。您通常会缓存成本高昂的操作的结果或频繁访问的数据。缓存允许从缓存中提供对相同数据的后续请求,而不是从其源获取数据。ASP.NET Core 提供了多种类型的缓存,例如 、 和即将...
7-12 20:54
34
OOP 中的接口与抽象类
在面向对象编程 (OOP) 领域,开发人员经常会遇到两个关键概念:接口和抽象类。虽然两者都是设计类的蓝图,但它们表现出不同的特征,并在不同的场景中使用。让我们介绍一下接口和抽象类之间的区别,以便更清楚地理解它们在软件开发中的作用。接口OOP 中的接口是一个协...
7-12 20:59
37
确保 Parallel 中的线程安全-C# 中的 ForEach
介绍PC# 中的 arallel 编程具有通过在多个线程上并发执行操作来加快操作的速度的优势。但是,在使用该方法循环访问集合时,保持线程安全性以防止数据损坏或争用条件等问题至关重要。在本文中,我们将探讨如何在循环中实现线程安全,并讨论一些最佳实践。实现线程安全为...
7-12 20:53
45
你需要知道的关于C#语言类、类型的信息
想象一下,你正在建造一座乐高城堡。你不会在墙壁上使用与窗户相同的部件,对吧?在 C# 中,类就像你的乐高积木,不同类型的类适用于应用程序中的不同工作。这篇文章将讨论 C# 中的各种类类型,并帮助你为你的项目选择正确的类类型!核心类类型按数据存储引用类型这些类...
7-12 20:24
23
每个开发人员都应该知道的最受欢迎的 .NET 库
当您开始使用 .NET 开发项目时,准确的工具可能会有所作为。在这些工具中,有 .NET 库,它提供了预先编写的代码来管理和改进开发过程。这些库是开发人员的重要资产,从简化庞大的任务到提高他们的性能和效率。在本文中,我们将探讨每个开发人员都应该了解的最受欢迎的 ....
7-12 20:46
27
您需要了解的有关 C# 12 集合表达式的所有信息
C# 12 确实引入了一个名为“集合表达式”的功能,旨在简化集合的初始化。它使我们能够以更简洁和富有表现力的方式直接指定集合的元素。集合表达式提供了一种简洁的语法,用于创建常见的集合实例。通过使用扩展运算符,可以将其他集合中的元素合并到这些实例中......可以...
7-12 20:28
27
<<
<
…
4
5
6
7
8
9
10
11
12
13
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
1034
C#异步定时器:精准定期执行...
1099
WPF应用中融入ASP.NET Core...
700
解决WPF界面卡死等待问题:...
1756
WPF中轻松生成动态图表:实...
589
C#屏幕截图:轻松捕获活动窗...
570
串口通信利器:RJCP.DLL.Ser...
560
C#串口通讯实战:基础功能及...
519
延迟等待的艺术:C#中Task.D...
389
C#中轻松实现二维码和条形码...
362
FluentFTP实战:轻松操控FTP...
397
.NET —ToList 和 ToArray ...
261
掌握ImageSharp:图像处理的...
378
解密C# Socket通信:克服粘...
370
WPF开发新境界:MVVM设计模...
372
WPF中轻松操控GIF动画:WpfA...
367
C# 中的并发性:使用 Blocki...
229
实现WPF多语言支持:简单灵...
326
还在到处加异常日志记录?试...
322
C#中Task.Run怎么用?能解决...
316
轻松实现.NET应用自动更新:...
316
打造真实感十足的速度表盘:...
312
在C# .NET 8中使用MediatR实...
189
.net中连接数据库太麻烦?试...
308
.net中OpenCVSharp+Zxing读...
307
.NET 性能分析:.NET 8 中的...
184
C#文件编码检测:轻松解析文...
195
.NET配置文件大揭秘:轻松读...
301
ASP.NET 后端开发:全面的路...
178
C# Socket通信:灵活传输DTO...
294
.NET 9中ToList 和 ToArray ...
170
深入理解WPF中的Dispatcher...
276
Microsoft.Extensions.Loggi...
186
WPF大展示专业指南:轻松实...
386
优化代码性能:C#中轻松测量...
274
C#语言中从Switch语句转换到...
151
WPF魔法:轻松实现依赖注入...
1377
.NET Core 中集成Dapper高级...
143
C# Switch 语句进阶:模式匹...
264
.net下优秀的日志框架Serilo...
1385
MediatR让进程内通信如此简...
1361
C# 中的弱事件 — 如何避免...
138
.net中通过定时任务框架Quar...
257
C# .NET 8 — 创建具有分布...
134
.net 下优秀的DI框架推荐,...
248
探索深度克隆的极致:C#开源...
245
C#实例方法和静态方法有区别...
254
改一个对象类型,for循环耗...
242
.net中各种加解密用这一个库...
241
掌握System.Text.Json中的多...
241