Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. ToDouble
  2. ToString
  3. ToInt32/UInt32
  4. ToInt16/ToUInt16
  5. ToInt64/UInt64
  1. ToByte/ToSByte
  2. ToChar
  3. BitConverter
  4. Enconding
  5. exceptions lançadas

A classe Convert(.NET) possui um vasto número de métodos para conversão de dados utilizados pela linguagem C#. Nesta parte do tutorial, vamos estudar alguns métodos mais utilizados dessa classe.

Sintaxe
Convert.nome_metodo(argumento);

Alguns os métodos mostrados abaixo lançam erro ou exceção caso a conversão de dados não tenha sucesso. Outros retornam 0 ou 1 como resultado.

Os tipos de dados primitivos utilizados nesta seção foram vistos em C# Básico: Tipos de Dados. Outros tipos como DateTime serão vistos em futuras atualizações.

Com o método ChangeType podemos converter um objeto para um determinado tipo de dado. Um erro é gerado caso a conversão não possa ser realizada.

Sintaxe
public static object? ChangeType(object? value, Type conversionType);
Onde
value: objeto/valor para conversão
conversionType: tipo de dado para conversão.
Retorno
value convertido para tipo conversionType.
Exemplo 1
using System;	
public class Program
{
	public static void Main()
	{
		string str1 = "false";
		Object ret = Convert.ChangeType(str1,typeof(Boolean));
		Console.WriteLine(ret);
	}
}
Saída
False

Com os métodos FromHexString e ToHexString podemos converter uma string para um array de bytes e vice-versa.

Sintaxe
public static byte[] FromHexString(string s);

public static byte[] ToHexString(byte[] inArray);
Onde
s: string para conversão
inArray: array de bytes para conversão.
Retorno
s: convertido para byte[]
inArray: convertido para string
Exemplo 2
using System;
					
public class Program
{
	public static void Main()
	{
		string str1 = "ffeeddccbbaa";
		byte[] array = Convert.FromHexString(str1);
		
		foreach ( byte b in array)
		  Console.Write(b);

		Console.WriteLine();
		string str2 = Convert.ToHexString(array);
		Console.WriteLine(str2);
	}
}
Saída
255238221204187170
FFEEDDCCBBAA

Utilizando o método ToBoolean podemos converter valores string ou inteiro, por exemplo, para o tipo de dado Boolean.

Sintaxe
public static bool ToBoolean(byte value);
Onde
value: valor string, byte, char, decimal, double, int e outros
Retorno
value convertido para boolean
Exemplo 3
using System;
					
public class Program
{
	public static void Main()
	{
		Console.WriteLine(Convert.ToBoolean(1));
		Console.WriteLine(Convert.ToBoolean(0));
		Console.WriteLine(Convert.ToBoolean("true"));
		Console.WriteLine(Convert.ToBoolean("false"));
	}
}
Saída
True
False
True
False

Usando o método de conversão ToDateTime, podemos converter data contidas em strings, por exemplo, para o formato DateTime.

Sintaxe
public static DateTime ToDateTime(string? value);
Onde
value: valor string para conversão
Retorno
value convertido para DateTime
Exemplo 4
using System;	
public class Program
{
	public static void Main()
	{
	  Console.WriteLine(Convert.ToDateTime("01/31/2024"));
	  Console.WriteLine(Convert.ToDateTime("01-01-2024"));
	  Console.WriteLine(Convert.ToDateTime("01-31-2024"));
	}
}
Saída
01/31/2024 00:00:00
01/01/2024 00:00:00
01/31/2024 00:00:00

O tipo de dados DateTime pode ser visto em Classes Nativas: DateTime com mais detalhes.

Fazendo udo do método ToDecimal, podemos converter valores int, float e string, por exemplo, para o formato decimal.

Sintaxe
public static decimal ToDecimal(object? value);
Onde
value: valor para conversão: string, byte, int, bool, char e outros
Retorno
value convertido para decimal
Exemplo 5
using System;
					
public class Program
{
	public static void Main()
	{
		Console.WriteLine(Convert.ToDecimal(100));
		Console.WriteLine(Convert.ToDecimal(1.99F));
		Console.WriteLine(Convert.ToDecimal("10.50"));
	}
}
Saída
100
1.99
10.50

O método ToDouble é utilizado para converter valores int, float e string, por exemplo, para o formato double.

Sintaxe
public static double ToDouble(object? value);
Onde
value: valor para conversão: string, byte, int, bool, char e outros
Retorno
value convertido para double
Exemplo 6
using System;
					
public class Program
{
	public static void Main()
	{
		Console.WriteLine(Convert.ToDouble(100));
		Console.WriteLine(Convert.ToDouble(1.12345));
		Console.WriteLine(Convert.ToDouble("10.50"));
	}
}
Saída
100
1.12345
10.5

Com o método ToString, podemos converter valores int, float e boolean, por exemplo, para o formato string.

Sintaxe
public static string ToString(object? value);
Onde
value: valor para conversão: string, byte, int, bool, char e outros
Retorno
value convertido para string
Exemplo 7
using System;
					
public class Program
{
	public static void Main()
	{
		Console.WriteLine(Convert.ToString(100));
		Console.WriteLine(Convert.ToString(1.12345));
		Console.WriteLine(Convert.ToString(true));
		Console.WriteLine(Convert.ToString('A'));
	}
}
Saída
1100
1.12345
True
A

Os métodos ToIn32/ToUint32 são utilizado para converter valores byte, int e bool, por exemplo, para o formato inteiro sinalizado e não-sinalizado.

Sintaxe
public static Int32 ToInt32(object? value);

public static Int32 ToInt32(object? value);
Onde
value: valor para conversão: string, byte, int, bool, char e outros
Retorno
value convertido para string
Exemplo 7
using System;
					
public class Program
{
	public static void Main()
	{
		Console.WriteLine(Convert.ToInt32(true));
		Console.WriteLine(Convert.ToInt32("100"));
		Console.WriteLine(Convert.ToInt32('A'));
		
		Console.WriteLine(Convert.ToUInt32("16777215"));
		Console.WriteLine(Convert.ToUInt32(true));
		Console.WriteLine(Convert.ToUInt32(0xffff));
	}
}
Saída
1
100
65
16777215
1
65535

A sinalização de valores foi visto em Tutorial C: Sinalização.

  1. 05/08/2025 - revisão 2 - Correções: pontuais, link internot 'Tipos de dados','Objetivos', sintaxes'
  2. 14/10/2024 - revisão 1 - Correção: 'ToString' ; Ajustes pontuais
  3. 12/03/2024 - versão inicial