class A
{
}
class Program
{
public static void Main()
{
string a = "99";
A a2 = new A();
}
}
Я читал книгу Рихтера и Голдштейна, поэтому знаю, как выглядит объект собственноручно созданного типа, при этом я знаю, что этот объект - ссылочного типа, так как класс - ссылочный тип. Но раз string тоже ссылочного типа, то он имеет такое же строение, как объект собственноручно созданного типа? Если да, то объект типа string хранит своё значение в поле или что-то типа этакого? Если нет, то в куче создаётся не объект типа string, а само значение переменной, то есть в куче просто выделяется память, а в эту память запихуется одно значение? Но тогда бы мы не смогли обращаться к методам типа object, так как не было бы таблицы методов, - значит, похожи по строению?
Я имел ввиду, имеет ли объект типа string также, как и объект собственноручно созданного типа, указатель на объект-тип, индекс блока синхронизации, таблицу методов, в которой есть EEClass и указатель на интерфейсы, и т. д. и т. п.