Wie man den Int-Wert von Enum in C# erhält
-
Geben Sie Cast ein, um
enuminintumzuwandeln -
staticKlasse zur Konvertierung vonenumnachint -
Verwendung von
GetTypeCode()zur Konvertierung vonenumnachint - 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#