C# Academy · Aula

A classe Convert e análise

Analise e converta com Convert e TryParse.

Aula 4 de 413 etapas

A classe Convert e análise é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 4 aulas no total.

Convertendo cadeias de caracteres em números

A entrada do usuário chega como texto. Para fazer cálculos com ela, você precisa converter cadeias de caracteres em números. C# oferece Convert, Parse e TryParse.

using System;

class Program
{
    static void Main()
    {
        string input = "42";
        int number = int.Parse(input);
        Console.WriteLine(number + 8);
    }
}

int.Parse

int.Parse transforma uma cadeia de caracteres numérica em um int. Ele gera um FormatException se o texto não for um número válido.

using System;

class Program
{
    static void Main()
    {
        try
        {
            int n = int.Parse("abc");
            Console.WriteLine(n);
        }
        catch (FormatException)
        {
            Console.WriteLine("Not a valid number");
        }
    }
}

int.TryParse

int.TryParse evita exceções: retorna true em caso de sucesso e coloca o resultado em um parâmetro out, ou retorna false em caso de falha.

using System;

class Program
{
    static void Main()
    {
        if (int.TryParse("123", out int n))
            Console.WriteLine("Parsed: " + n);
        else
            Console.WriteLine("Failed");
    }
}

TryParse para entradas seguras

TryParse é a forma preferida de lidar com entradas não confiáveis, porque o texto inválido é tratado de maneira adequada em vez de causar uma falha do programa.

using System;

class Program
{
    static void Main()
    {
        string[] inputs = { "10", "oops", "30" };
        int total = 0;
        foreach (var s in inputs)
        {
            if (int.TryParse(s, out int v))
                total += v;
        }
        Console.WriteLine("Total of valid: " + total);
    }
}

A classe Converter

A classe Convert converte entre muitos tipos básicos: Convert.ToInt32, Convert.ToDouble, Convert.ToBoolean e outros.

using System;

class Program
{
    static void Main()
    {
        int i = Convert.ToInt32("256");
        double d = Convert.ToDouble("3.14");
        bool b = Convert.ToBoolean("true");
        Console.WriteLine(i + ", " + d + ", " + b);
    }
}

Convert lida com nulo

Ao contrário de int.Parse, Convert.ToInt32(null) retorna 0 em vez de gerar um erro, o que pode ser conveniente ou surpreendente.

using System;

class Program
{
    static void Main()
    {
        string s = null;
        int n = Convert.ToInt32(s);   // returns 0
        Console.WriteLine("Result: " + n);
    }
}

Convertendo entre tipos numéricos

Convert também transforma um tipo numérico em outro e arredonda, em vez de truncar, ao converter valores de ponto flutuante em inteiros.

using System;

class Program
{
    static void Main()
    {
        double d = 7.6;
        int cast = (int)d;             // truncates -> 7
        int converted = Convert.ToInt32(d);   // rounds -> 8
        Console.WriteLine("cast=" + cast + ", convert=" + converted);
    }
}

Analisando outros tipos

A maioria dos tipos integrados tem seu próprio Parse/TryParse: double.TryParse, bool.TryParse, DateTime.TryParse e assim por diante.

using System;

class Program
{
    static void Main()
    {
        bool okD = double.TryParse("2.5", out double d);
        bool okB = bool.TryParse("True", out bool flag);
        Console.WriteLine(okD + ":" + d + ", " + okB + ":" + flag);
    }
}

ToString para fazer o inverso

Para transformar um número novamente em texto, chame ToString(), opcionalmente com uma cadeia de caracteres de formato.

using System;

class Program
{
    static void Main()
    {
        int n = 255;
        double price = 12.5;
        Console.WriteLine(n.ToString());
        Console.WriteLine(price.ToString("C"));   // currency format
    }
}

Escolhendo a ferramenta certa

Use TryParse para entradas do usuário nas quais você não pode confiar, Parse quando a entrada tiver validade garantida e Convert ao lidar com valores nulos ou converter entre muitos tipos.

using System;

class Program
{
    static void Main()
    {
        string userInput = "55x";
        int value = int.TryParse(userInput, out int v) ? v : -1;
        Console.WriteLine(value == -1 ? "Invalid input" : "Got " + value);
    }
}

Colocando tudo em conjunto

Um fluxo robusto de entrada valida os dados com TryParse, usa um valor padrão em caso de falha e depois faz os cálculos com segurança.

using System;

class Program
{
    static int ReadAge(string input)
    {
        if (int.TryParse(input, out int age) && age >= 0)
            return age;
        return 0;   // safe default
    }

    static void Main()
    {
        Console.WriteLine("Age: " + ReadAge("28"));
        Console.WriteLine("Age: " + ReadAge("bad"));
    }
}

Verificação rápida

Teste sua compreensão sobre análise e conversão.

Recapitulação

Converta texto em números com int.Parse (gera um erro com entradas inválidas), int.TryParse (é seguro e retorna um booleano e um valor out) ou a classe Convert (lida com valores nulos, arredonda números de ponto flutuante e converte muitos tipos). Prefira TryParse para entradas não confiáveis e ToString() para fazer a conversão no sentido inverso.

using System;

class Program
{
    static void Main()
    {
        if (int.TryParse("99", out int n))
            Console.WriteLine("Value: " + n);
        Console.WriteLine("Convert: " + Convert.ToInt32("7"));
    }
}
Grátis para começar

Aprenda C# com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
93
Aulas
346

Perguntas Frequentes

A aula “A classe Convert e análise” é grátis?

Sim — o texto completo de “A classe Convert e análise” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 4 aulas no total.

O que vou aprender em “A classe Convert e análise”?

Analise e converta com Convert e TryParse. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C# Academy?

Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “A classe Convert e análise”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C# Academy?

Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Tipos de valor versus tipos de referência
  2. Boxing e unboxing
  3. Conversões implícitas e explícitas
  4. A classe Convert e análise
← Voltar para C# Academy