この記事では主にC#でのenumとstringの相互変換に関する関連情報を紹介します
C#のJson変換操作
列挙型
Enumはベースを提供します。列挙型クラスの基本型は
Char を除く任意の整数です。基本型が明示的に宣言されていない場合は、Int32 が使用されます。
注: 列挙型の基本型は
Char を除く任意の整数であるため、列挙型の値は整数値になります
1。C# は列挙型を文字列に変換します (enume->gt; string)
このオブジェクトには列挙型が含まれており、Json 文字列にシリアル化すると、列挙型に対応する数値が表示されます。これは列挙の本質ですが、多くの場合、ユーザーは文字列を必要とするため、文字列を表示するために JSON 変換中にいくつかの操作を実行する必要があります。
方法は: 列挙型に属性タグを追加します
[JsonConverter(typeof(StringEnumConverter))]
1) 列挙型を定義するときは、MODEL プロジェクトの type
Reference Json で属性を宣言するだけです
。DLL
次に、属性 [JsonConverter(typeof(StringEnumConverter))] を追加します
例:
public enum RecipientStatus { Sent, Delivered, Signed, Declined } public class RecipientsInfoDepartResult { [JsonConverter(typeof(StringEnumConverter))] //属性将枚举转换为string public RecipientStatus status { set; get; } public PositionBeanResult PredefineSign { set; get; } }
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))将返回枚举字符串数组
1)、Enum の静的メソッド Parse を使用します: Enum.Parse( )
Prototype:
ty.ToString();
public static Object Parse(Type enumType,string value) eg : (Colors)Enum.Parse(typeof(Colors), "Red"); (T)Enum.Parse(typeof(T), strType)
protected static T GetType<T>(string strType) { T t = (T)Enum.Parse(typeof(T), strType); return t; }
概要
以上がC# での列挙型と文字列間の変換の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。