Structs e enums
Structs em C#
Uma struct (estrutura) é um tipo de valor usado para agrupar dados relacionados sob um mesmo nome. São ideais para representar objetos simples, como coordenadas, pontos ou registros de dados, e são armazenadas na pilha de memória, o que pode trazer vantagens de desempenho em certos cenários.
Como definir uma struct
A sintaxe básica para definir uma struct é:
struct Ponto
{
public int X;
public int Y;
public Ponto(int x, int y)
{
X = x;
Y = y;
}
public void Imprimir()
{
Console.WriteLine($"Coordenadas: ({X}, {Y})");
}
}
Neste exemplo, a struct Ponto
possui dois campos (X
e Y
), um construtor e um método para imprimir as coordenadas.
Como utilizar uma struct
Você pode criar e usar structs de duas formas:
// Utilizando o construtor
Ponto p1 = new Ponto(3, 5);
p1.Imprimir(); // Saída: Coordenadas: (3, 5)
// Inicializando os campos diretamente
Ponto p2;
p2.X = 10;
p2.Y = 20;
p2.Imprimir(); // Saída: Coordenadas: (10, 20)
Se não usar o construtor, é necessário inicializar todos os campos antes do uso.
Enums em C#
Um enum (enumeração) é um tipo especial que permite definir um conjunto de constantes nomeadas, facilitando o uso de valores fixos no código e melhorando a legibilidade.
Como definir um enum
A sintaxe básica é:
enum DiaDaSemana
{
Domingo,
Segunda,
Terca,
Quarta,
Quinta,
Sexta,
Sabado
}
Como utilizar um enum
DiaDaSemana hoje = DiaDaSemana.Quarta;
if (hoje == DiaDaSemana.Quarta)
{
Console.WriteLine("Hoje é quarta-feira!");
}
Você pode também obter o valor numérico associado:
int valor = (int)DiaDaSemana.Quarta; // valor será 3
Resumo das diferenças principais
Structs | Enums |
---|---|
Agrupam dados | Definem conjuntos de valores |
Tipo de valor | Tipo especial de valor |
Podem ter métodos | Apenas constantes nomeadas |