Heim >Backend-Entwicklung >C++ >Wie konvertiere ich Enum -Konstanten in ihre zugrunde liegenden Ganzzahlwerte in C#?

Wie konvertiere ich Enum -Konstanten in ihre zugrunde liegenden Ganzzahlwerte in C#?

Susan Sarandon
Susan SarandonOriginal
2025-01-28 12:46:11396Durchsuche

How Do I Convert Enum Constants to Their Underlying Integer Values in C#?

Zugriff auf den zugrunde liegenden Ganzzahlwert von C# Enums

c# Enums basieren normalerweise auf Ganzzahlen und bieten eine einfache Möglichkeit, ihre numerische Darstellung abzurufen. Dies ist besonders hilfreich, wenn Enums als Array -Indizes oder in Berechnungen verwendet werden.

Direktes Casting für Standard -Enums

Der häufigste Ansatz besteht darin, die Enum -Konstante direkt auf ein int:

zu gießen
<code class="language-csharp">int roleValue = (int)Question.Role;</code>

Dies funktioniert einwandfrei für Enums mit dem Standard -Ganzzahl -Backing -Typ.

Umgang mit Nichteiger-Enum-Typen

können jedoch auch mit zugrunde liegenden Typen wie uint, long oder ulong definiert werden. In solchen Fällen ist das Gießen auf den richtigen Typ unerlässlich. Zum Beispiel:

<code class="language-csharp">enum StarsInMilkyWay : long { Sun = 1, V645Centauri = 2, ..., Wolf424B = 2147483649 };

long wolf424BValue = (long)StarsInMilkyWay.Wolf424B;</code>

Hier haben wir StarsInMilkyWay.Wolf424B zu long gegossen, um seinen zugrunde liegenden langen Ganzzahlwert zu erhalten.

Schlussfolgerung

Mit einem geeigneten Casting können Sie problemlos auf den numerischen Wert einer Enum -Konstante zugreifen und die Benutzerfreundlichkeit von Enums in Ihrem C# -Code erweitern. Denken Sie daran, den Gusstyp mit der zugrunde liegenden Typdeklaration des Enum anzupassen.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Enum -Konstanten in ihre zugrunde liegenden Ganzzahlwerte in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn