Arquivos do Blog

Mais Exemplos Práticos: Métodos e Propriedades da Struct DateTime – Parte 3

Olá pessoal, neste artigo finalizaremos a série de artigos criando mais alguns exemplos práticos com a struct DateTime. Acompanhem:

Se você não viu as outras partes desta série de artigos, clique aqui.

 Parecido com o método que retorna quantos dias tem em cada mês do ano, criado no artigo anterior, vamos criar um método que retorna o nome do mês atual, e que espera o número do mês como parâmetro.

A Listagem 01 exibe este método.

Listagem 01 – Método RetornaMes

Leia o resto deste post

Propriedades e Exemplos: Métodos e Propriedades da Struct DateTime – Parte 2

Olá pessoal, neste artigo veremos as propriedades da struct (estrutura) DateTime e criaremos alguns exemplos práticos. Acompanhem:

Se você não viu a parte 1 desta série de artigos, clique aqui.

 A struct DateTime conta com 16 propriedades, 3 estáticas. Abaixo é listado 12 delas.

  • Now, Today e Date – As 2 primeiras propriedades são estáticas (não necessitam de instanciação) e retornam, respectivamente, a data e hora exata, no momento em que a mesma for chamada, e o dia de hoje. A 3ª faz o mesmo que a propriedade Today, a diferença é que ela precisa ser instanciada pra ser utilizada.
  • Day, DayOfWeek e DayOfYear – Como os nomes sugerem, estas propriedades retornam, respectivamente, o dia atual, o dia da semana (em inglês, é claro) e o dia do ano. Fazendo um teste com o dia em que este artigo foi feito, foram retornados, dia 08, dia da semana Wednesday e dia do ano 39.
  • Hour, Minute, Second e Millisecond – Retornam, respectivamente, a hora, o minuto, o segundo e os milisegundos no momento em que as propriedades são executadas.
  • Month e Year – Retornam o mês e ano atual.

Agora crie um projeto Console Application e adicione a ele uma classe, que conterá os métodos que faremos abaixo.

Na classe crie um método para retornar o número de dias do mês, de acordo com o mês passado no parâmetro, como ilustrado pela Listagem 01.

Leia o resto deste post

Conceitos e Métodos: Métodos e Propriedades da Struct DateTime – Parte 1

Olá pessoal, nesta série de artigos veremos uma abordagem detalhada com os métodos e propriedades da struct (estrutura) DateTime, e aplicaremos o que for aprendido em exemplos práticos. Acompanhem:

 Introdução – A struct DateTime, do namespace System, do .NET Framework é constantemente utilizada por desenvolvedores (lembrando que, como ela é uma struct, também é usada como um tipo de dado).

Se você não conhece o que é uma struct recomendo fortemente a leitura dos dois artigos postados sobre o assunto, no link acima.

 Esta struct conta com dezenas de objetos para manipular valores relacionados a datas e horas, como é bem explicado pela documentação oficial da MSDN. Veremos neste artigo os principais e de uso comum pelos desenvolvedores no dia-a-dia.

Começando pelos construtores, quando instanciamos a struct temos nada menos que 12 sobrecargas nela (a 1ª vazia, por padrão), as quais podem ser vistas em detalhes neste link.

Leia o resto deste post

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

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:

  • Uma struct não pode ser herdada de uma classe base, ao contrário de uma classe;
  • Em uma classe o compilador cria o construtor padrão no caso de não termos criado um construtor próprio. Já a struct não aceita a declaração de um construtor padrão, ou seja, um construtor que não tenha parâmetros. Isso porque o compilador sempre cria um construtor;
  • Usando struct não podemos inicializar campos de instância em seu ponto de declaração, o que é possível nas classes. Qualquer struct tem como regra inicializar todos os seus campos em todos os seus construtores;
  • A struct apresenta um construtor padrão (já mencionado anteriormente) criada pelo compilador, que sempre aplica os valores false, 0 ou null (dependendo do seu tipo) para os campos, como ocorre nas classes, mais os quais devemos tomar muito cuidado para que façam sentido e se comportem logicamente em relação ao valor da struct criado pelo construtor.

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 struct devem ser inicializados de forma explícita, já que o compilador por si só não inicializará um campo no construtor.

Chega de conceitos e vamos à prática. Veja na Listagem 01 um exemplo do uso da Struct com datas, representando os campos dia, mês e ano:

Leia o resto deste post

Conceitos e Sintaxe – Structs: Estrutura da Linguagem – Parte 1

Olá pessoal, neste artigo veremos os principais conceitos das Structs. Acompanhem:

A carga para gerenciar o heap (pilha, local especial da memória) pode tornar-se desproporcional em situações nas quais uma classe possui uma quantidade muito pequena de dados. Se assim for, é aconselhável definir o tipo como estrutura ao invés de classe. Desta forma, a carga de gerenciamento de memória é reduzida frequentemente, já que as estruturas são armazenadas na pilha.

Dito isto, podemos afirmar que Structs é uma estrutura de um determinado tipo. No C#, os tipos numéricos primitivos float, long e int são apelidos de estruturas. O long, por exemplo, é um apelido para System.Int64.

Segundo a documentação do Visual Studio 2010, “é um tipo por valor que é normalmente usado para encapsular pequenos grupos de variáveis relacionadas, como características de uma pessoa, por exemplo.” (tradução livre). Ainda segundo a documentação, Structs podem conter construtores, constantes, campos, métodos, propriedades, indexadores, operadores, eventos e tipos aninhados.

É importante dizer que o uso de diversos operadores comuns em nossos próprios tipos de estrutura, por padrão, não é possível.

Leia o resto deste post

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Join 551 other followers