理解.NET中的垃圾收集

理解.NET中的垃圾收集

考虑以下代码:

public class Class1{
    public static int c;
    ~Class1()
    {
        c++;
    }}public class Class2{
    public static void Main()
    {
        {
            var c1=new Class1();
            //c1=null; // If this line is not commented out, at the Console.WriteLine call, it prints 1.
        }
        GC.Collect();
        GC.WaitForPendingFinalizers();
        Console.WriteLine(Class1.c); // prints 0
        Console.Read();
    }}

现在,即使main方法中的变量c1超出了作用域,并且没有被任何其他对象进一步引用GC.Collect()是叫,为什么还没最后确定呢?


慕慕森
浏览 467回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP