我想使用 C# 创建内存泄漏,所以我编写了以下代码尝试创建一个。这个概念是编写一个显式的 Dispose ,它除了调用 GC.SuppressFinalize() 来阻止 GC 的工作之外什么都不做。但是当我运行代码时,它看起来好像内存没有泄漏。谁能帮忙告诉我为什么?
class Program
{
static void Main(string[] args)
{
while (true)
{
var t = new Foo();
t.create_leak();
t.Dispose();
}
}
}
class Foo:IDisposable
{
public void create_leak() {
m_value = new int[10000];
Console.WriteLine(m_value[10].ToString()+DateTime.Now.ToString());
}
public void Dispose() { GC.SuppressFinalize(this); }
private int[] m_value;
~Foo() { }
}