Как ссылки на объекты C # представлены в памяти / во время выполнения (в CLR)?
Мне любопытно узнать, как ссылки на объекты C # представлены в памяти во время выполнения (в .NET CLR). Некоторые вопросы, которые приходят на ум:
Сколько памяти занимает ссылка на объект? Отличается ли оно, когда оно определено в области видимости класса и области видимости метода? Отличается ли оно в зависимости от области видимости (стек против кучи)?
Какие фактические данные хранятся в ссылке на объект? Это просто адрес памяти, который указывает на объект, на который он ссылается, или это нечто большее? Отличается ли это в зависимости от того, определено ли оно в рамках класса или метода?
Те же вопросы, что и выше, но на этот раз, когда речь идет о ссылке на ссылку, например, когда ссылка на объект передается методу по ссылке. Как меняются ответы на вопросы 1 и 2?