具有数据结构(字典,列表等)的C#.NET内存管理

Dan*_*and 1 .net c# garbage-collection memory-management data-structures

我希望有人能在以下情况下阐明.NET如何处理垃圾回收。

我有一个程序需要像在Visual Studio中看到的那样做一种非常特殊的“文件查找”功能。我可能要搜索成千上万个文件,然后将结果收集在List(Pair())对象中,其中Pair是我创建的用于存储一对项目的简单类(显然)。

当我用完需要的东西时,我在列表上调用Clear()来摆脱旧的信息。这似乎没有帮助释放内存,因为我可以在任务管理器上看到消耗的内存没有减少。

对于很大的搜索,我可能要处理5,000,000行信息​​(需要在我的计算机上使用大约500MB的内存)。搜索结束后,内存消耗量保持不变。我使Pair类实现了IDisposable,但这没有帮助。

知道我可能会缺少什么吗?谢谢!

Ode*_*ded 5

垃圾回收将在需要时清除内存,也就是说,不是在“清除”列表时清除内存,而是在发现没有任何引用的项目以及进程/计算机用完时清除内存。记忆。

无需在C#中微管理内存。