Wie man den Int-Wert von Enum in C# erhält
-
Geben Sie Cast ein, um
enum
inint
umzuwandeln -
static
Klasse zur Konvertierung vonenum
nachint
-
Verwendung von
GetTypeCode()
zur Konvertierung vonenum
nachint
- Weitere Beispiele
Dieses Tutorial erklärt, wie man den int
-Wert von enum
in C# erhält und listet einige der üblichen Code-Beispiele auf, um einen Überblick über den Aufzählungstyp von C# zu erhalten.
Enum
(auch als Enumeration
bekannt) ist ein benutzerdefinierter Datentyp oder ein Werttyp, der normalerweise eine Menge von konstanten, benannten Werten des zugrundeliegenden integralen Typs definiert. Das Schlüsselwort enum
definiert einen Aufzählungstyp innerhalb des Codes. Das grundlegende Beispiel ist unten angegeben:
enum Name { Joe, Rick, John, Matt }
Der Aufzählungstyp der vordefinierten konstanten Werte ist standardmäßig vom Datentyp int
. Der zugrundeliegende ganzzahlige Typ kann jedoch explizit auf jeden anderen ganzzahligen numerischen Typ wie sbyte
, byte
, short
, ushort
, int
, uint
, long
und ulong
gesetzt werden. Die folgende Tabelle beschreibt die Größe und den Bereich jedes vordefinierten integralen Typs in C#.
C#-Schlüsselwort | Ganzzahlige Größe | Bereich |
---|---|---|
sbyte |
sunterzeichnet 8-Bit |
[-128, 127] |
byte |
ohne Vorzeichen 8-Bit |
[0, 255] |
short |
sunterzeichnet 16-bit |
[-32,768, 32,767] |
ushort |
ohne Vorzeichen 16-bit |
[0, 65,535] |
int |
sunterzeichnet 32-bit |
[-2,147,483,648, 2,147,483,647] |
uint |
ohne Vorzeichen 32-bit |
[0, 4,294,967,295] |
long |
sunterzeichnet 64-bit |
[-9,223,372,036,854,775,808, 9,223,372,036,854,775,807] |
ulong |
ohne Vorzeichen 64-bit |
[0, 18,446,744,073,709,551,615] |
Geben Sie Cast ein, um enum
in int
umzuwandeln
Das Erhalten von int
-Werten aus enum
ist nicht so generisch, wie es scheint, da die Herausforderung innerhalb der Datentypen liegt. Siehe das folgende Beispiel.
public enum Days { Numbers = 20, DayType = 3 }
int abc = (int)Days.Numbers;
Console.WriteLine(abc);
Ausgabe:
20
Es kann verschiedene zugrundeliegende Typen für enum
geben, was für die Programmierer etwas knifflig sein kann. Der obige Code speichert den int
Wert von Days
enum
in abc
. In diesem Fall wird die Typecasting-Methode verwendet, um den Datentyp einer Entität in einen anderen Datentyp zu ändern, wodurch die korrekte Verwendung der Variablen sichergestellt wird. Aber die Verwendung von Typecasting wird nicht immer bevorzugt.
Es gibt Wege, die keine Abhängigkeit vom Typecasting haben und ziemlich einfach sein können. Diese Umgehungsmöglichkeiten werden im Folgenden anhand von Codebeispielen ausführlich erläutert.
static
Klasse zur Konvertierung von enum
nach 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);
}
}
Ausgabe:
3
Der obige Code zeigt, dass Subjects.science
den richtigen Wert von 3
erhält, ohne darüber nachzudenken, den richtigen ganzzahligen Wert zu typisieren.
Verwendung von GetTypeCode()
zur Konvertierung von enum
nach 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);
}
}
Ausgabe:
Int32
Wenn irgendein Programmierer keine statische Konstante
verwenden möchte, dann kann er die obige Methode von GetTypeCode()
verwenden. Der gesamte obige Code extrahiert erfolgreich die ganze Zahl aus dem enum-Typ. Die folgenden Beispiele sollen Ihnen helfen, weitere Ideen zu bekommen.
Weitere Beispiele
Beispiel 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);
}
}
Ausgabe:
4
Beispiel 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);
}
}
Ausgabe:
2147977653
Verwandter Artikel - Csharp Integer
- C# Int in String konvertieren
- Konvertieren Sie Int in Enum in C#
- Zufällige Int in C#
- Zufallszahl in einem Bereich in C#
- Wie konvertiert man eine Zeichenkette in Int in C#
- Ganzzahldivision in C#