Sobes.tech
Junior — Middle

Que tipos de objetos podem estar na área de memória gerenciada (heap)?

sobes.tech IA

Resposta da IA

Na área de memória gerida (montão) em C# encontram-se objetos de tipos de referência. Estes podem incluir:

  • Instâncias de classes
  • Arrays
  • Delegados
  • Strings (string) — embora tenham características especiais, também são colocadas no montão

Os tipos de valor (struct, enum) geralmente são colocados na pilha se forem variáveis locais, ou dentro de um objeto no montão se forem campos de uma classe.

Exemplo:

class Person
{
    public string Name; // string no montão
    public int Age;     // valor no objeto
}

Person p = new Person(); // objeto Person no montão
p.Name = "Иван";       // string "Иван" também no montão