Как мы все знаем, классы в .NET передаются по ссылке, а структуры — по значению.
В небезопасном коде вы можете иметь указатели на структуры, но не на классы, поскольку они перемещаются сборщиком мусора. Например, когда у вас есть указатель на массив, вы должны поместить его либо в оператор fixed
(если вы выделили в куче), либо в stackalloc
(для размещения в стеке).
С учетом сказанного, как классы могут передаваться по ссылке, если они перемещаются сборщиком мусора?