Avatar ·

Quando usar struct em vez de class em C#? Entendendo tipos de valor

Olá a todos! Comecei recentemente a estudar C# e fico constantemente confuso sobre quando escolher entre struct e class. Eles parecem semelhantes — em ambos é possível declarar campos, métodos e propriedades. Mas ouvi dizer que struct é um tipo de valor, enquanto class é um tipo de referência, e isso afeta muito o desempenho. Tenho uma tarefa específica: estou escrevendo um pequeno motor 2D para jogos. Tenho uma estrutura Point com coordenadas X e Y. Atualmente ela está declarada como class: ```csharp public class Point { public int X { get; set; } public int Y { get; set; } public Point(int x, int y) { X = x; Y = y; } } ``` Tudo funciona, mas estou criando milhares desses pontos a cada frame, e a aplicação começa a ficar lenta. Um amigo sugeriu substituir class por struct para acelerar o funcionamento. Mas eu