Heim > Artikel > Backend-Entwicklung > Beispiel für die Konvertierung zwischen Enum und String in C#
In diesem Artikel werden hauptsächlich relevante Informationen zur gegenseitigen Konvertierung von Enum und String in C# vorgestellt. Freunde, die sie benötigen, können sich auf
C#-Json-Konvertierungsvorgang beziehen
Aufzählungstyp
Enum stellt eine Basisklasse für die Aufzählung bereit. Der Basistyp kann eine beliebige Ganzzahl sein, außer
Char Wenn Sie den Basistyp in einer Formel deklarieren möchten, verwenden Sie Int32.
Hinweis: Der Basistyp des Aufzählungstyps ist eine beliebige ganze Zahl außer
Char, daher ist der Wert des Aufzählungstyps ein ganzzahliger Wert
1. C# konvertiert die Aufzählung in einen String (enume->string)
Unser Objekt enthält den Aufzählungstyp, der bei der Serialisierung in einen JSON-String angezeigt wird. Da dies das Wesentliche der Aufzählung ist, müssen während der JSON-Konvertierung häufig einige Vorgänge ausgeführt werden, um Zeichenfolgen anzuzeigen, da Benutzer Zeichenfolgen benötigen.
Die Methode lautet: Attribut-Tags hinzufügen
[JsonConverter(typeof(StringEnumConverter))]
1), beim Definieren der Aufzählung Beim Aufzählen von a Typ, deklarieren Sie einfach ein Attribut für den Typ
Reference Json.net
DLL
für das MODEL-Projekt und fügen Sie dann das Attribut [JsonConverter(typeof(StringEnumConverter)) ]
zB:
2), unter Verwendung der statischen Methoden GetName und GetNames von Enum
public enum RecipientStatus { Sent, Delivered, Signed, Declined } public class RecipientsInfoDepartResult { [JsonConverter(typeof(StringEnumConverter))] //属性将枚举转换为string public RecipientStatus status { set; get; } public PositionBeanResult PredefineSign { set; get; } }
Zum Beispiel:
eg : public static string GetName(Type enumType,Object value) public static string[] GetNames(Type enumType)
3), RecipientStatus ty = RecipientStatus.Delivered;
Enum.GetName(typeof(Colors),3))与Enum.GetName(typeof(Colors), Colors.Blue))的值都是"Blue" Enum.GetNames(typeof(Colors))将返回枚举字符串数组
2. Konvertieren Sie einen String in eine Aufzählung (string->enum)
ty.ToString();1), verwenden Sie die statische Methode Parse von Enum: Enum.Parse()Prototyp:
Eine Vorlagenfunktion unterstützt jeden Aufzählungstyp
public static Object Parse(Type enumType,string value) eg : (Colors)Enum.Parse(typeof(Colors), "Red"); (T)Enum.Parse(typeof(T), strType)
Bestimmen Sie, ob eine Aufzählungsvariable definiert wird. Medium:
protected static T GetType<T>(string strType) { T t = (T)Enum.Parse(typeof(T), strType); return t; }
RecipientStatus type = RecipientStatus.Sent; Enum.IsDefined(typeof(RecipientStatus), type );Zusammenfassung
Das obige ist der detaillierte Inhalt vonBeispiel für die Konvertierung zwischen Enum und String in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!