이 글은 C#에서 enum과 string의 상호변환 관련 내용을 주로 소개하고 있으니 필요하신 분들은 참고하시면 됩니다
C# Json 변환 연산
enumeration type
Enum은 열거형 클래스의 기본 유형은
Char를 제외한 모든 정수일 수 있습니다. 기본 유형이 명시적으로 선언되지 않은 경우 Int32가 사용됩니다.
참고: 열거 유형의 기본 유형은
Char를 제외한 모든 정수이므로 열거 유형의 값은 정수 값입니다.
1. C#은 열거를 문자열로 변환합니다(enume-> 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; } }
2) 속성을 추가하고 Enum의 정적 메서드 GetName 및 GetNames
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, 열거형 문자열(문자열->enum)
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!