Sobes.tech
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#.