Em C#, as duas principais categorias de tipo são tipos de valor (como estruturas) e tipos de referência (como classes). Como uma estrutura (ou struct) é um tipo de valor, ela é centrada em dados.

Um struct pode armazenar atributos e métodos relacionados que, preferencialmente, não focam no comportamento.

Como declarar um struct

Cada declaração de struct deve ter o estrutura palavra-chave. Preceda a palavra-chave struct com um modificador de acesso e inclua um nome e um par de chaves depois dele. Veja como declarar uma struct chamada Game:

público struct Jogo {}

Como preencher um struct

Uma estrutura armazena dados dentro de suas chaves, na forma de atributos, construtores, métodos, eventos, etc.

público jogo de estrutura
{
público nome da cadeia;
público descrição da cadeia;
públicoint níveis;

públicoJogo(nome da string, descrição da string, int níveis){
isto.nome = nome;
isto.descrição = descrição;
isto.níveis = níveis;
}

string de substituição pública ToString() => $"Nome: {name}, Descrição: {description}, Níveis: {levels}";
}

instagram viewer

A estrutura Game agora tem três atributos, um construtor e um método. Estes são três componentes primários de uma estrutura C#, que também são três dos componentes primários de um classe C#.

Como criar uma variável de estrutura

Cada instância de uma estrutura C# é conhecida como variável. Existem duas maneiras de criar um variável de uma estrutura. Você pode usar um construtor:

Jogo jogo1 = novo Jogo("Picaréseg GO", "Lorem ipsum dolor sit amet.", 50);

Ou você pode atribuir valores a atributos individuais de uma estrutura usando o operador ponto (.):

Jogo jogo1;
game1.name = "Picaréseg GO";
jogo1.descrição = "Lorem ipsum dolor sit amet.";
game1.levels = 50;

Ambas as abordagens alcançam o mesmo resultado. O código acima usa C# para desenvolver um objeto de jogo chamado Pokémon GO que possui uma breve descrição e 50 níveis. Então, agora você pode usar o objeto game1.

Console.WriteLine(jogo1.Para sequenciar());

Isso imprime a seguinte saída no console:

Nome: Pokémon GO, Descrição: Lorem ipsum dolor sit amet., Níveis: 50

As diferenças entre uma estrutura e uma classe

Uma struct e uma classe têm uma aparência semelhante, mas têm muitas diferenças notáveis. Eles usam palavras-chave diferentes para declaração. E structs não suportam referências nulas nem herança.