Exemple de conversion entre enum et string en C#

黄舟
Libérer: 2017-09-05 14:36:00
original
1994 Les gens l'ont consulté

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))]
Copier après la connexion

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; }
}
Copier après la connexion

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)
Copier après la connexion

Par exemple :


Enum.GetName(typeof(Colors),3))与Enum.GetName(typeof(Colors),
Colors.Blue))的值都是"Blue"
Enum.GetNames(typeof(Colors))将返回枚举字符串数组
Copier après la connexion

3), RecipientStatus ty = RecipientStatus.Delivered;


ty.ToString();
Copier après la connexion

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)
Copier après la connexion

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;
}
Copier après la connexion

Déterminer si une variable d'énumération est définie Moyen :


RecipientStatus type = 
RecipientStatus.Sent;
Enum.IsDefined(typeof(RecipientStatus),
type );
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!