Skip to content

Conversão de dados

  • São conversões que podem ser executadas apenas com passagem de dados
  • Possuem tipos compatíveis
floar valor = 25.8f;
int outro = 25;
valor = outro; // Podemos colocar um valor int dentro de um float
outro = valor // NÃO PODE, um ponto real não cabe um valor inteiro0
TipoPode receber de
Sbyteshort, int, long, float, double, decimal
byteshort, ushort, int, uint, long, ulong, float, double, decimal
shortint, long, float, double, decimal
ushortint, uint, long, ulong, float, double, decimal
intlong, float, double, decimal
unitlong, ulong, float, double, decimal
longfloat, double, decimal
ulongfloat, double, decimal
charushort, int, uint, long, ulong, float, double, decimal
floatdouble
  • Ocorre quando os tipos não são compatíveis
  • É dada pelo uso do tipo entre parênteses antes da atribuição
int inteiro = 100;
uint inteiroSemSinal = (uint)inteiro;
  • Método presente em todos os tipos primitivos
  • Usado para converter um caractere ou string para um tipo qualquer
  • Caso haja alguma incompatibilidade, gera um erro
int inteiro = int.Parse("100");
  • Similar ao parse
  • É uma classe chamada Convert com todos os tipos primitivos
  • Permite converter vários tipos de valores, não só String
  • Devemos sempre informar o tipo na chamada da conversão
  • Ele é mais preciso quando tem que fazer de ponto flutuante para inteiro
int inteiro = Convert.ToInt32("100");
  • Todos os tipos primitivas tem o método ToString()
  • Serve para transformar o dado em uma string em nosso projeto
int inteiro = 3;
string valor = inteiro.ToString(); // "3"

O método TryParse() faz várias coisas simultaneamente:

  • Ele tenta analisar uma cadeia de caracteres sobre o tipo de dados numérico fornecido.
  • Se a conversão der certo, o valor convertido é armazenado em um parâmetro de saída, explicado na seção a seguir.
  • Retorna um bool para indicar se a ação foi bem-sucedida ou falhou.

Os métodos podem retornar um valor ou retornar “nulo” - o que significa que eles não retornam nenhum valor. Os métodos também podem retornar valores por meio de parâmetros out, definidos como um parâmetro de entrada, porém incluem a palavra-chave out.

string value = "102";
int result = 0;
if (int.TryParse(value, out result)) // o out diz para onde vai o valor
{
Console.WriteLine($"Measurement: {result}");
}
else
{
Console.WriteLine("Unable to report the measurement.");
}
  • TBD