有没有一种有效的方法将数组的部分内存返回给系统?我正在使用 C# 遍历一个大字符串数组和一个包含(> 100k 个元素)的哈希表,并且在我完成它们后将单个元素设置为 null。我已经尝试在各个级别和整个循环中调用垃圾收集器,但它们都没有将内存返回给系统(完全调用垃圾收集器并等待挂起的终结器会导致我的代码变得非常缓慢且无响应)。
我考虑过将数组分成 n 部分并在每个部分完成后调用 gc 但这似乎很乱
GC.Collect(1);
GC.Collect(2);
....
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();