0Pricing
C# Academy · Aula

Conversão e análise de enumerações

Converta entre enumerações, inteiros e strings.

Conversão e análise de enumerações é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 3 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.

Enumeração para inteiro

Converta uma enumeração para seu tipo subjacente com (int) para obter o valor numérico.

using System;

enum Level { Low, Medium, High }
class Program {
    static void Main() {
        int n = (int)Level.High;
        Console.WriteLine(n);
    }
}

Inteiro para enumeração

Converta um número de volta para o tipo de enumeração. O valor não precisa ser um membro definido, portanto faça uma verificação quando necessário.

using System;

enum Level { Low, Medium, High }
class Program {
    static void Main() {
        Level l = (Level)2;
        Console.WriteLine(l);
    }
}

Validando com IsDefined

Enum.IsDefined confirma se um número ou nome corresponde a um membro real antes que você confie nele.

using System;

enum Level { Low, Medium, High }
class Program {
    static void Main() {
        Console.WriteLine(Enum.IsDefined(typeof(Level), 1));
        Console.WriteLine(Enum.IsDefined(typeof(Level), 9));
    }
}

Enumeração para cadeia de caracteres

ToString retorna o nome do membro, o que é útil para exibição e registro.

using System;

enum Level { Low, Medium, High }
class Program {
    static void Main() {
        Console.WriteLine(Level.Medium.ToString());
    }
}

Analisando uma cadeia de caracteres

Enum.Parse transforma um nome de volta em um valor de enumeração, mas gera uma exceção se o nome for inválido.

using System;

enum Level { Low, Medium, High }
class Program {
    static void Main() {
        Level l = (Level)Enum.Parse(typeof(Level), "High");
        Console.WriteLine(l);
    }
}

Análise genérica

A forma genérica Enum.Parse<T> evita conversões e proporciona uma leitura limpa.

using System;

enum Level { Low, Medium, High }
class Program {
    static void Main() {
        Level l = Enum.Parse<Level>("Medium");
        Console.WriteLine(l);
    }
}

Análise segura com TryParse

Enum.TryParse retorna um booloano em caso de sucesso em vez de gerar uma exceção, o que é mais seguro para a entrada do usuário.

using System;

enum Level { Low, Medium, High }
class Program {
    static void Main() {
        if (Enum.TryParse<Level>("Low", out var result))
            Console.WriteLine("Parsed: " + result);
    }
}

Lidando com entradas inválidas

Quando a análise falha, TryParse retorna false para que você possa reagir de forma adequada.

using System;

enum Level { Low, Medium, High }
class Program {
    static void Main() {
        bool ok = Enum.TryParse<Level>("Unknown", out var result);
        Console.WriteLine(ok ? result.ToString() : "Invalid input");
    }
}

Análise sem distinção entre maiúsculas e minúsculas

Passe true para ignorar maiúsculas e minúsculas ao analisar texto fornecido pelo usuário.

using System;

enum Level { Low, Medium, High }
class Program {
    static void Main() {
        Level l = Enum.Parse<Level>("high", true);
        Console.WriteLine(l);
    }
}

TryParse é melhor que IsDefined para nomes

Para analisar nomes, TryParse trata tanto da validade quanto da conversão em uma única chamada.

using System;

enum Level { Low, Medium, High }
class Program {
    static void Main() {
        string input = "Medium";
        if (Enum.TryParse<Level>(input, out var lvl) && Enum.IsDefined(typeof(Level), lvl))
            Console.WriteLine("Valid: " + lvl);
    }
}

Conversões de ida e volta

Você pode converter uma enumeração em int e de volta, ou em uma cadeia de caracteres e de volta, desde que os valores sejam válidos.

using System;

enum Level { Low, Medium, High }
class Program {
    static void Main() {
        Level start = Level.High;
        int num = (int)start;
        Level back = (Level)num;
        Console.WriteLine(start == back);
    }
}

Verificação rápida

Teste seus conhecimentos sobre conversões e análise de enumerações.

Recapitulação

Converta entre uma enumeração e seu inteiro subjacente com (int) e (EnumType), e use Enum.IsDefined para validar. ToString fornece o nome do membro.

Analise nomes de volta com Enum.Parse<T> (gera uma exceção) ou com o mais seguro Enum.TryParse<T> (retorna um booloano), opcionalmente sem distinção entre maiúsculas e minúsculas.

Perguntas Frequentes

A aula “Conversão e análise de enumerações” é grátis?

Sim — o texto completo de “Conversão e análise de enumerações” é 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 “Conversão e análise de enumerações”?

Converta entre enumerações, inteiros e strings. 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 3 de 4.

Quanto tempo leva a aula “Conversão e análise de enumerações”?

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. Definindo e usando enumerações
  2. Enumerações de sinalizadores e combinações bit a bit
  3. Conversão e análise de enumerações
  4. Percorrendo valores de enumerações
← Voltar para C# Academy