Sobes.tech
Junior — Middle

Da li se tipovi sa referentnom vrednošću uvek smeštaju u stek memorije?

sobes.tech АИ

Одговор од АИ

Није, типови са референтном вредношћу (reference types) у C#-у се не налазе увек на стеку. Референтни типови се обично налазе у управљаном хипу (heap), а на стеку се чува само референца на објекат.

На пример:

class MyClass { }

void Method()
{
    MyClass obj = new MyClass(); // obj је референца, налази се на стеку
    // Сам објекат MyClass се налази у хипу
}

Вредносни типови, као што су структуре (struct), обично се налазе на стеку ако су локалне променљиве, али могу бити и у хипу ако су поља објеката са референцом.

Стога, локација зависи од типа и контекста употребе, а не само од тога да ли је тип референца.