Comment obtenir la valeur Int de Enum en C#
-
Type Cast pour convertir
enum
enint
-
Classe
static
pour convertirenum
enint
-
Utilisation de
GetTypeCode()
pour convertirenum
enint
- Plus d’exemples
Ce tutoriel explique comment obtenir la valeur int
à partir de enum
en C# et énumère quelques exemples de codes courants pour obtenir une vue d’ensemble du type d’énumération du C#.
L’énumération est un type de données défini par l’utilisateur ou un type de valeur qui définit généralement un ensemble de valeurs nommées constantes du type d’intégrale sous-jacent. Le mot-clé enum
définit un type d’énumération dans le code. L’exemple de base est donné ci-dessous:
enum Name { Joe, Rick, John, Matt }
Le type d’énumération des valeurs constantes prédéfinies est de type de données int
par défaut. Cependant, le type d’intégrale sous-jacent peut être explicitement défini comme n’importe quel autre type d’intégrale numérique comme sbyte
, byte
, short
, ushort
, int
, uint
, long
et ulong
. Le tableau ci-dessous décrit la taille et l’étendue de chaque type d’intégrale prédéfini en C#.
Mot-clé C# | Taille entière | Gamme |
---|---|---|
sbyte |
signé 8-bit | [-128, 127] |
byte |
non signé 8-bit | [0, 255] |
short |
signé 16-bit | [-32,768, 32,767] |
ushort |
non signé 16-bit | [0, 65,535] |
int |
signé 32-bit | [-2,147,483,648, 2,147,483,647] |
uint |
non signé 32 bits | [0, 4,294,967,295] |
long |
signé 64-bit | [-9,223,372,036,854,775,808, 9,223,372,036,854,775,807] |
ulong |
non signé 64 bits | [0, 18,446,744,073,709,551,615] |
Type Cast pour convertir enum
en int
Obtenir une valeur “in” à partir d’un “énum” n’est pas aussi générique qu’il n’y paraît, car le défi se situe au niveau des types de données. Voir l’exemple suivant.
public enum Days { Numbers = 20, DayType = 3 }
int abc = (int)Days.Numbers;
Console.WriteLine(abc);
Production:
20
Il peut y avoir différents types sous-jacents pour enum
, ce qui peut être un peu délicat pour les programmeurs. Le code ci-dessus stocke la valeur int
de Days
enum
à abc
. Dans ce cas, la méthode Typecasting est utilisée pour changer le type de données d’une entité en un autre type de données, assurant une utilisation correcte des variables. Mais il n’est pas toujours préférable d’utiliser le typecasting.
Il existe des moyens qui ne dépendent pas du Typecasting et qui peuvent être assez simples. Ces méthodes sont expliquées en détail dans les exemples de code ci-dessous.
Classe static
pour convertir 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);
}
}
Production:
3
Le code ci-dessus montre que Subjects.science
obtient la bonne valeur de 3
sans penser à taper la bonne valeur entière.
Utilisation de GetTypeCode()
pour convertir enum
en 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);
}
}
Production:
Int32
Si un programmeur ne veut pas utiliser static const
, alors il peut utiliser la méthode ci-dessus de GetTypeCode()
. Tout le code ci-dessus extrait avec succès l’entier du type enum. Les exemples ci-dessous vous aideront à trouver d’autres idées.
Plus d’exemples
Exemple 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);
}
}
Production:
4
Exemple 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);
}
}
Production:
2147977653
Article connexe - Csharp Integer
- C# Convertir Int en String
- Convertir Int en Enum en C#
- Int aléatoire en C#
- Nombre aléatoire dans une plage en C#
- Comment convertir une chaîne de caractères en Int en C#
- Division entière en C#