Cet article présente principalement les informations pertinentes sur la conversion mutuelle d'énumération et de chaîne en C#. Les amis qui en ont besoin peuvent se référer à
Opération de conversion C# Json.
Type d'énumération
Enum fournit une classe de base pour l'énumération. Son type de base peut être n'importe quel entier sauf
S'il n'y a pas de If explicite. vous souhaitez déclarer le type de base dans une formule, utilisez Int32.
Remarque : Le type de base du type d'énumération est n'importe quel entier sauf
Char, donc la valeur du type d'énumération est une valeur entière
1. C# convertit l'énumération en chaîne (enume->string)
Notre objet contient le type d'énumération, qui est affiché lorsqu'il est sérialisé en chaîne Json. Parce que c'est l'essence
de l'énumération, mais il est souvent nécessaire d'effectuer certaines opérations lors de la conversion JSON pour afficher les chaînes, car les utilisateurs ont besoin de chaînes.
La méthode est la suivante : ajouter des balises d'attribut sur le type d'énumération
[JsonConverter(typeof(StringEnumConverter))]
Par exemple :
1), avant de définir le énumération Lors de l'énumération d'un type, déclarez simplement un attribut sur le type
Référence Json.net
DLL
sur le projet MODEL puis ajoutez l'attribut [JsonConverter(typeof(StringEnumConverter )) ]
par exemple :
public enum RecipientStatus { Sent, Delivered, Signed, Declined } public class RecipientsInfoDepartResult { [JsonConverter(typeof(StringEnumConverter))] //属性将枚举转换为string public RecipientStatus status { set; get; } public PositionBeanResult PredefineSign { set; get; } }
2), en utilisant les méthodes statiques d'Enum GetName et GetNames
eg : public static string GetName(Type enumType,Object value) public static string[] GetNames(Type enumType)
Par exemple :
Enum.GetName(typeof(Colors),3))与Enum.GetName(typeof(Colors), Colors.Blue))的值都是"Blue" Enum.GetNames(typeof(Colors))将返回枚举字符串数组
3), RecipientStatus ty = RecipientStatus.Delivered;
ty.ToString();
2. Convertissez la chaîne en énumération (string->enum)
1), utilisez la méthode statique d'Enum Parse : Enum.Parse()
Prototype :
public static Object Parse(Type enumType,string value) eg : (Colors)Enum.Parse(typeof(Colors), "Red"); (T)Enum.Parse(typeof(T), strType)
Une fonction de modèle prend en charge tout type d'énumération
protected static T GetType<T>(string strType) { T t = (T)Enum.Parse(typeof(T), strType); return t; }
Déterminer si une variable d'énumération est définie Moyen :
RecipientStatus type = RecipientStatus.Sent; Enum.IsDefined(typeof(RecipientStatus), type );
Résumé
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!