Ich habe eine Aufzählung, von der ich alle möglichen Werte anzeigen möchte. Gibt es eine Möglichkeit, ein Array oder eine Liste aller möglichen Werte der Aufzählung abzurufen, anstatt eine solche Liste manuell zu erstellen? zB Wenn ich eine Aufzählung habe:
public enum Enumnum { TypeA, TypeB, TypeC, TypeD }
Wie würde ich in der Lage sein, eine zu bekommen List<Enumnum>
, die enthält { TypeA, TypeB, TypeC, TypeD }
?
Antworten:
Auf diese Weise erhalten Sie ein einfaches Array der Aufzählungswerte mit
Enum.GetValues
:Und das bringt Ihnen eine generische Liste:
quelle
Enumnum.GetValues()
undEnumnum.GetNames()
existiert nicht.var valuesAsArray = (Enumnum[])Enum.GetValues(typeof(Enumnum));
.Enum.GetValues(typeof(Enumnum)).Cast<ActualType>().ToList();
ActualType
bedeuten? Für eine Aufzählung wäre diesEnumnum
das Beispiel des OP, oder es könnte (normalerweiseint
) der zugrunde liegende Typ sein . Hattest du noch etwas im Sinn?Versuchen Sie diesen Code:
Dies gibt a
string[]
mit allen Aufzählungsnamen der gewählten Aufzählung zurück.quelle
Gibt ein Array der Werte in der Aufzählung zurück.
quelle
Vielleicht möchten Sie Folgendes tun:
Alle int-Werte davon
enum
sind11,22,33,44
.Sie können diese Werte folgendermaßen erhalten:
string.Join(",", enumsValues)
ist11,22,33,44
.quelle
Etwas anderes:
quelle
mit diesem:
und Sie können wie folgt auf das Werte-Array zugreifen:
quelle
Sie können verwenden
Dies gibt ein Array zurück!
quelle
Wenn Sie einen allgemeineren Weg bevorzugen, hier ist es. Sie können je nach Bedarf weitere Konverter hinzufügen.
Beispielimplementierungen:
quelle
auch du kannst verwenden
um alle Elemente in Enum als JSON-Format zu erhalten.
quelle
Das OP fragte nach Wie bekomme ich ein Array aller
enum
Werte in C #?Was ist, wenn Sie ein Array ausgewählter
enum
Werte in C # erhalten möchten ?Deine Aufzählung
Wenn Sie nur
Sunday
aus Ihrem auswählen möchtenEnum
.Credits gehen an sachkundige tl.
Verweise:
1.
2.
Hoffnung hilft jemandem.
quelle