Cómo obtener el valor Int del Enum en C#
-
Escriba el molde para convertir el
enumenint -
Clase
staticpara convertir elenumenint -
Usando
GetTypeCode()para convertir elenumaint - Más ejemplos
Este tutorial explica cómo obtener el valor int de enum en C# y enumera algunos de los ejemplos de códigos comunes para obtener una visión general del tipo de enumeración de C#.
Enum (también conocido como Enumeración) es un tipo de dato definido por el usuario o un tipo de valor que normalmente define un conjunto de valores con nombre constante del tipo integral subyacente. La palabra clave enum define un tipo de enumeración dentro del código. El ejemplo básico se da a continuación:
enum Name { Joe, Rick, John, Matt }
El tipo de enumeración de los valores constantes predefinidos es del tipo de datos int por defecto. Sin embargo, el tipo de integral subyacente puede ser configurado explícitamente a cualquier otro tipo numérico integral como sbyte, byte, short, ushort, int, uint, long y ulong. La siguiente tabla describe el tamaño y el rango de cada tipo de integral predefinido en C#.
| Palabra clave de C# | Tamaño entero | Rango |
|---|---|---|
sbyte |
firmado 8-bit | [-128, 127] |
byte |
no firmado 8-bit | [0, 255] |
short |
firmado 16-bit | [-32,768, 32,767] |
ushort |
no firmado 16-bit | [0, 65,535] |
int |
firmado 32-bit | [-2,147,483,648, 2,147,483,647] |
uint |
no firmado 32-bit | [0, 4,294,967,295] |
long |
firmado 64-bit | [-9,223,372,036,854,775,808, 9,223,372,036,854,775,807] |
ulong |
no asignado 64-bit | [0, 18,446,744,073,709,551,615] |
Escriba el molde para convertir el enum en int
Obtener el valor de int del enum no es tan genérico como parece, ya que el desafío está en los tipos de datos. Véase el siguiente ejemplo.
public enum Days { Numbers = 20, DayType = 3 }
int abc = (int)Days.Numbers;
Console.WriteLine(abc);
Resultado:
20
Puede haber diferentes tipos subyacentes para enum que pueden ser un poco complicados para los programadores. El código anterior almacena el valor int de Days enum a abc . En este caso, el método Typecasting se usa para cambiar el tipo de datos de una entidad a otro tipo de datos, asegurando el uso correcto de las variables. Pero no siempre se prefiere el uso del Typecasting.
Hay formas que no tienen ninguna dependencia del Typecasting y pueden ser bastante sencillas. Estas formas se explican en detalle con los siguientes ejemplos de códigos.
Clase static para convertir el enum en int
using System;
class Demo {
public static class Subjects {
public const int maths = 2;
public const int science = 3;
public const int english = 4;
public const int history = 5;
}
public static void Main() {
int xyz = Subjects.science;
Console.WriteLine(xyz);
}
}
Resultado:
3
El código anterior muestra que Subjects.science obtiene el valor correcto de 3 sin pensar en teclear el valor entero correcto.
Usando GetTypeCode() para convertir el enum a int
using System;
class Demo {
public enum Subjects { maths, science, english, history }
public static void Main() {
Subjects Maths = Subjects.maths;
Object sub = Convert.GetTypeCode(Maths);
Console.WriteLine(sub);
}
}
Resultado:
Int32
Si algún programador no quiere usar static const, puede usar el método anterior de GetTypeCode(). Todo el código anterior extrae con éxito el entero del tipo enum. Los ejemplos de abajo ayudarán a obtener más ideas.
Más ejemplos
Ejemplo 1:
using System;
class Demo {
public enum Positions { Role = 2, Project = 3, Jobs = 4 }
public static void Main() {
int a = (int)Positions.Jobs;
Console.WriteLine(a);
}
}
Resultado:
4
Ejemplo 2:
using System;
class Demo {
public enum Galaxy : long { Sun = 1, S5HVS1 = 2, HD140283 = 2147977653 }
;
public static void Main() {
long solar = (long)Galaxy.HD140283;
Console.WriteLine(solar);
}
}
Resultado:
2147977653
Artículo relacionado - Csharp Integer
- C# Convertir la Int a Cadena
- Convertir Int en Enum en C#
- Int aleatoria en C#
- Número aleatorio en un rango en C#
- Cómo convertir la cadena en Int en C#
- División entera en C#