Re[15]: Только что с интервью...
От: IT Россия linq2db.com
Дата: 28.03.17 20:08
Оценка:
Здравствуйте, Mystic Artifact, Вы писали:

MA> Всё правильно. При этом GC умеет сопостовлять IP (instruction pointer, полагаю offset внутри метода) с тем, что считать живым на стэке. Поэтому зануливаний ему и не нужно.


Это элементарно проверить.

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Foo();

            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            Console.WriteLine("End Main");
        }

        class A
        {
            ~A()
            {
                Console.WriteLine("~A");
            }
        }

        static void Foo()
        {
            {
                var a = new A();
                //a = null; // Здесь раскоментировать для получения другого результата
            }

            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            Console.WriteLine("End Foo");
        }
    }
}


Никто ничего не сопоставляет. Я бы сильно удивился если бы это было так.
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.