Conceitos Finais e Exemplo Prático – Structs: Estrutura da Linguagem – Parte 2

Veja neste artigo os conceitos finais da Structs, mostrando as diferenças entre estrutura e classe. Veja também um pequeno exemplo prático.

Olá pessoal, neste artigo veremos mais alguns conceitos e criaremos um exemplo prático com Structs. Acompanhem:

Diferenças entre Classes e Structs – Apesar de serem muito parecidas sintaticamente, as classes e structs apresentam algumas diferenças, como descrito a seguir:

Falando especificamente da última diferença apresentada acima, podemos optar por não usar os valores padrões que o compilador atribui inicialmente. Neste caso, podemos criar um construtor que não é padrão se inicializarmos os campos com valores diferentes, considerando sempre que todos os campos em todos os construtores da estrutura devem ser inicializados de forma explícita, já que o compilador por si só não inicializará um campo no construtor.

Ok, chega de conceitos vamos à prática. Veja no código a seguir um exemplo do uso do Struct com datas, representando os campos dia, mês e ano:

struct Data { int dia, mes, ano; public Data(int objDia, int objMes, int objAno) { this.dia = objDia; this.mes = objMes; this.ano = objAno; } }

Neste exemplo, o Struct é criado no próprio arquivo Program.cs, sendo que o método Main() deve ficar dentro da Struct. Confira como deve ficar o código completo:

struct Data struct Data { int dia, mes, ano; public Data(int objDia, int objMes, int objAno) { this.dia = objDia; this.mes = objMes; this.ano = objAno; } static void Main(string[] args) { //Instancio meu Struct, passando os parâmetros referentes ao dia, mês e ano e exibo ao usuário Data objDataHoje = new Data(30, 01, 2011); Console.WriteLine("\nData de Hoje: " + objDataHoje.dia + "/" + objDataHoje.mes + "/" + objDataHoje.ano + "\n"); //Atribuo a variável objDataHoje à variável objDataOntem, decremento o valor em 1 e exibo ao usuário Data objDataOntem = objDataHoje; objDataOntem.dia--; Console.WriteLine("Data de Ontem: " + objDataOntem.dia + "/" + objDataOntem.mes + "/" + objDataOntem.ano + "\n"); //Atribuo a variável objDataHoje à variável objDataAmanha, incremento o valor em 1 e exibo ao usuário Data objDataAmanha = objDataHoje; objDataAmanha.dia++; Console.WriteLine("Data de Amanhã: " + objDataAmanha.dia + "/" + objDataAmanha.mes + "/" + objDataAmanha.ano + "\n"); Console.ReadKey(); } }

Compilando a aplicação, temos o seguinte resultado:

Resultado da compilação.

Simples, né?

Assim finalizo o artigo. Muito obrigado a todos!
Um abraço, e até o próximo artigo.

Artigos relacionados