Особенности хранения value type и reference type - C#

Узнай цену своей работы

Формулировка задачи:

Всем известно, что значимые типы хранятся в стеке(смутно представляю, что он из себя представляет, было бы неплохо узнать), а ссылочные в куче. Так вот, банально. Класс содержащий значимые свойства, хранится в куче, а сами свойства? Структура содержащая ссылочные свойства, хранится в стеке, а свойства в куче? Как все это выглядит?
В итоге, правильно ли я понимаю: 1. Указатели на ссылочные типы все таки хранятся в стеке? 2. Значимые свойства ссылочных типов хранятся в куче? 3. Ссылочные свойства значимых типов так же хранятся в куче?
Отличный разбор ситуации на забугорном.

Решение задачи: «Особенности хранения value type и reference type»

textual
Листинг программы
class Program
{
    static void Main()
    {
        Foo foo = null;
        foo = new Foo();
        foo.x = 0x01234567;
        foo.y = 0x0123456789ABCDEF;
        foo.str = "Hello";
        foo.bar.x = 0xAABBCCDD;
        foo.bar.foo = foo;
        foo.bar.str = "World";
 
        Bar bar;
        bar.x = 0xAABBCCDD;
        bar.foo = foo;
        bar.str = "!!!";
    }
}
 
class Foo
{
    public int x;
    public long y;
    public Bar bar;
    public string str;
}
 
struct Bar
{
    public uint x;
    public Foo foo;
    public string str;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5