Junior — Middle
A estrutura torna-se num tipo de referência ao usar as palavras-chave ref ou out nos métodos?
sobes.tech IA
Resposta da IA
A estrutura (struct) em C# permanece sempre um tipo de valor, mesmo que seja passada para um método com as palavras-chave ref ou out. Essas palavras-chave permitem passar uma referência à variável da estrutura, ou seja, o método pode modificar a própria estrutura, e não uma cópia dela, mas o tipo de dado não se torna um tipo de referência.
Exemplo:
struct Point { public int X, Y; }
void UpdatePoint(ref Point p) {
p.X = 10;
p.Y = 20;
}
Point pt = new Point();
UpdatePoint(ref pt); // pt será alterado
Aqui, Point continua sendo um tipo de valor, mas graças ao ref, o método tem acesso à instância original, não a uma cópia.