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