Sobes.tech
Junior — Middle

Como é que a memória ocupada pela estrutura de dados struct é libertada?

sobes.tech IA

Resposta da IA

No C#, as estruturas (struct) são tipos de valor e normalmente são armazenadas na pilha ou dentro de outros objetos. A memória ocupada por uma estrutura é liberada automaticamente pelo ambiente de execução ao sair do âmbito da variável. Não é necessária nem prevista uma chamada explícita para liberar memória para structs.

Se uma estrutura contém campos de referência, a gestão de memória desses objetos ocorre através do coletor de lixo, como é habitual para tipos de referência.

Exemplo:

struct Point { public int X, Y; }

void Method() {
    Point p = new Point { X = 10, Y = 20 };
    // p vive na pilha, a memória será liberada automaticamente ao sair do método
}