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

O que acontece com o cérebro no exato momento em que morremos

O que passa em nossa cabeça no momento da morte? Não se sabe exatamente e, embora os cientistas tenham alguma resposta, a resposta continua sendo um grande mistério. Além de difícil solução, tentar respondê-la pode criar implicações éticas. No entanto, uma equipe de cientistas da Universidade...

Ler Notícia Completa

Operada e devolvida ao útero, menina que nasceu duas vezes hoje 'acorda sorrindo toda manhã'

Um bebê pode nascer duas vezes? Não é o caso da absoluta maioria das crianças, mas foi assim para a pequena Lynlee Boemer. Em outubro de 2015, sua mãe, Margaret Boemer, descobriu que estava grávida de gêmeos. Ela sofreu um aborto espontâneo, mas um dos bebês sobreviveu. Com dez semanas de ges...

Ler Notícia Completa

Médicos dizem estar perto de chegar a exame de sangue para todos os tipos de câncer

Cientistas dizem que estão mais perto de criar um exame de sangue universal, capaz de identificar todos os tipos de câncer. Estudo conduzido com 1.005 pacientes por uma equipe da Universidade Johns Hopkins, dos Estados Unidos, testou um método que detecta oito tipos de proteínas e 16 mutações ge...

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