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

黄舟
Freigeben: 2017-09-05 14:36:00
Original
1993 Leute haben es durchsucht

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))]
Nach dem Login kopieren

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)) ]< hinzu 🎜>

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; }
}
Nach dem Login kopieren


Zum Beispiel:

eg : public static
string GetName(Type enumType,Object value)
public static string[] GetNames(Type enumType)
Nach dem Login kopieren


3), RecipientStatus ty = RecipientStatus.Delivered;

Enum.GetName(typeof(Colors),3))与Enum.GetName(typeof(Colors),
Colors.Blue))的值都是"Blue"
Enum.GetNames(typeof(Colors))将返回枚举字符串数组
Nach dem Login kopieren


2. Konvertieren Sie einen String in eine Aufzählung (string->enum)

ty.ToString();
Nach dem Login kopieren
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)
Nach dem Login kopieren


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;
}
Nach dem Login kopieren


RecipientStatus type = 
RecipientStatus.Sent;
Enum.IsDefined(typeof(RecipientStatus),
type );
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!