Cómo obtener el valor Int del Enum en C#
-
Escriba el molde para convertir el
enum
enint
-
Clase
static
para convertir elenum
enint
-
Usando
GetTypeCode()
para convertir elenum
aint
- 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#