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
- Definindo e usando enumerações
- Enumerações de sinalizadores e combinações bit a bit
- Conversão e análise de enumerações
- Percorrendo valores de enumerações