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
}