Junior — Middle
A estrutura numa linguagem de programação é um tipo de valor ou um tipo de referência?
sobes.tech IA
Resposta da IA
Na linguagem C#, a estrutura (struct) é um tipo de valor (value type), e não um tipo de referência.
Isto significa que ao atribuir ou passar uma estrutura para um método, ocorre uma cópia de todos os seus dados, e não a passagem de uma referência ao objeto na memória, como acontece com as classes (tipos de referência).
Exemplo:
struct Point
{
public int X;
public int Y;
}
Point p1 = new Point { X = 1, Y = 2 };
Point p2 = p1; // é criada uma cópia de p1
p2.X = 10;
// p1.X continuará a ser 1, pois p2 é uma cópia
Este comportamento é importante de ter em conta ao projetar e otimizar aplicações em C#.