Minicursos - C#

Casts


Quando manipulamos dados, seja para operações matemáticas, processos de concatenação ou simplesmente a leitura para armazenamento em variáveis, os destinos e origens devem ser compatíveis, ou seja, não podemos pegar o caractere “g” e armazena-lo em uma variável do tipo inteiro, que espera por um número. Essa é uma característica das linguagens chamadas de fortemente tipadas, ou seja, os tipos de dados devem ser respeitados rigorosamente. C# é uma dessas linguagens. Apenas por curiosidade, o contrário disso são as linguagens fracamente tipadas ou dinamicamente tipadas, que permitem que o tipo de dado armazenado em uma variável seja alterado sem qualquer conversão, ou seja, a variável aceita qualquer tipo de informação que se tentar armazenar nela. JavaScript e PHP são bons exemplos dessas linguagens.

Bem, mas retornando ao que nos interessa, Casts são conversões para que variáveis possam armazenar dados que, a princípio não poderiam ser aceitos por elas. Já vou exibir um exemplo, pois Casts são bastante simples, vejam esse código, que coloca um dado do tipo float em uma variável int:

Casts

Agora vejam a execução desse código no Console:

Casts

Percebam que o valor que eu adicionei propositalmente na variável i foi totalmente substituído pelo valor da variável f, mas a parte armazenada após a vírgula na variável do tipo float foi perdida. Isso acontece porque uma variável int não pode armazenar casas decimais, então no momento do Cast elas são desprezadas.

Convert

Neste exemplo fiz uma conversão de números do tipo float para números do tipo inteiro, mas poderíamos fazer de número para String. Para isso utilizamos uma sintaxe um pouco diferente, veja:

Casts

Percebam que trata-se de uma sintaxe muito intuitiva. Quando digitamos Convert.ToString estamos praticamente ditando o comando ao programa. A saída desse código é:

Casts

Neste exemplo, ao contrário do primeiro, não existe perda de informação, pois convertemos um dado para uma String, e esta pode armazenar qualquer informação em formato de texto.

A classe Convert, utilizada aqui para a conversão, é talvez o método mais completo e eficiente meio para realizar Casts. Ao digitar Convert seguido do ponto no Visual Studio, o IntelliSense já nos mostra todas as conversões possíveis, veja:

Casts

Parse

Por ser tão completa e intuitiva assim, a classe Convert é a forma mais utilizada de Cast, mas também existe outra, que é o método Parse. Imaginem que precisássemos pegar uma String e convertê-la para um número. Utilizando o método Parse, teríamos:

Casts

Existem algumas diferenças técnicas entre os três métodos citados, mas elas não são relevantes agora. Só por curiosidade, o Parse é o mais rápido deles, mas se você está tendo seu primeiro contato com os Casts agora, aconselho-o a usar o Convert, mais comum e completo, até porque essa diferença de velocidade não é significativa para 99% das aplicações.

O importante é saber que os dados podem sofrer conversões e que, em alguns casos alguns, trechos podem se perder. Fiquem sempre atentos a isso!



Algumas notícias

Inteligência Artificial cria antibiótico super potente

Pesquisadores do MIT (EUA) identificaram um novo e poderoso composto antibiótico usando um algoritmo de aprendizado de máquina, uma técnica de inteligência artificial. Em testes de laboratório, a droga matou algumas das bactérias causadoras de doenças mais problemáticas do mundo, incluindo algu...

Ler Notícia Completa

Google lança programa para capacitar profissionais brasileiros e com direito a bolsas

O Google iniciou nesta terça-feira (17) o Certificado Profissional de Suporte em TI para brasileiros. Trata-se de um curso desenvolvido pela gigante de tecnologia em parceria com a Coursera. Inicialmente, o módulo de ensino foi anunciado a um valor de US$ 39 por mês. Entretanto, sofreu uma redu...

Ler Notícia Completa
Você gostará destes vídeos!