Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für die Konvertierung zwischen Enum und String in C#

Beispiel für die Konvertierung zwischen Enum und String in C#

黄舟
黄舟Original
2017-09-05 14:36:002031Durchsuche

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


Zum Beispiel:
[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!

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