0Pricing
C# Academy · Lección

Conversiones y análisis de enums

Convierta entre enums, enteros y cadenas.

Conversiones y análisis de enums es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 4 lecciones en total.

De enumeración a entero

Convierta una enumeración a su tipo subyacente mediante (int) para obtener el valor numérico.

using System;

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

De entero a enumeración

Convierta un número de nuevo al tipo de enumeración. El valor no tiene por qué ser un miembro definido, así que compruébelo cuando sea necesario.

using System;

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

Validación con IsDefined

Enum.IsDefined confirma que un número o un nombre corresponde a un miembro real antes de que pueda considerarlo válido.

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));
    }
}

De enumeración a cadena

ToString devuelve el nombre del miembro, algo útil para mostrarlo y registrarlo.

using System;

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

Análisis desde una cadena

Enum.Parse convierte un nombre de nuevo en un valor de enumeración, pero produce una excepción si el nombre no es vá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álisis genérico

La forma genérica Enum.Parse<T> evita las conversiones y resulta más clara.

using System;

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

Análisis seguro con TryParse

Enum.TryParse devuelve un bool para indicar si la operación tuvo éxito, en lugar de producir una excepción, por lo que es más seguro para la entrada del usuario.

using System;

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

Gestión de entradas no válidas

Cuando el análisis falla, TryParse devuelve false para que pueda reaccionar correctamente.

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álisis sin distinguir mayúsculas y minúsculas

Pase true para ignorar las mayúsculas y minúsculas al analizar texto proporcionado por el usuario.

using System;

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

TryParse es mejor que IsDefined para los nombres

Para analizar nombres, TryParse gestiona la validación y la conversión en una sola llamada.

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);
    }
}

Conversiones de ida y vuelta

Puede convertir una enumeración a int y de nuevo a enumeración, o a string y de nuevo a enumeración, siempre que los valores sean 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);
    }
}

Comprobación rápida

Compruebe cuánto sabe sobre las conversiones y el análisis de enumeraciones.

Resumen

Convierta entre una enumeración y su entero subyacente mediante (int) y (EnumType), y use Enum.IsDefined para validar. ToString proporciona el nombre del miembro.

Analice los nombres para convertirlos de nuevo con Enum.Parse<T> (produce una excepción) o con la opción más segura Enum.TryParse<T> (devuelve un bool), opcionalmente sin distinguir mayúsculas y minúsculas.

Preguntas frecuentes

¿La lección «Conversiones y análisis de enums» es gratis?

Sí — el texto completo de «Conversiones y análisis de enums» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Conversiones y análisis de enums»?

Convierta entre enums, enteros y cadenas. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C# Academy?

No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Conversiones y análisis de enums»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C# Academy?

Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Definición y uso de enums
  2. Enums de flags y combinaciones bit a bit
  3. Conversiones y análisis de enums
  4. Iteración de valores de enums
← Volver a C# Academy