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

Intel Core i9-9900KS é um monstro com frequência de 5GHz em todos os núcleos

A Intel é uma das empresas presentes na Computex 2019, a maior feira de hardware da Ásia. E a empresa começou a esquentar os motores antes mesmo do início das conferências, exibindo um processador que não está para brincadeira: o Intel Core i9-9900KS, uma edição especial e ainda mais turbinada do...

Ler Notícia Completa

Como conversar com alguém no WhatsApp sem adicionar o número aos contatos

Este processo pode, à primeira vista, parecer um pouco confuso para usuários que não são muito experientes usando seu smartphone. Mas uma vez que você conclua o processo , vai entender o método e parecerá mais fácil. 1. Abra o seu navegador preferido no seu smartphone e digite o seguinte link na...

Ler Notícia Completa

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
Você gostará destes vídeos: