最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中enum和string的相互轉(zhuǎn)換

 更新時間:2017年09月04日 09:35:30   作者:MeachiealFactory  
這篇文章主要介紹了C#中enum和string的相互轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下

C# Json轉(zhuǎn)換操作

枚舉類型

Enum為枚舉提供基類,其基礎(chǔ)類型可以是除

Char 外的任何整型,如果沒有顯式聲明基礎(chǔ)類型,則使用Int32。

注意:枚舉類型的基類型是除

Char 外的任何整型,所以枚舉類型的值是整型值

1、C#將枚舉轉(zhuǎn)為字符串(enume->string)

我們的對象中包含枚舉類型,在序列化成Json字符串的時候,顯示的是枚舉類型對應(yīng)的數(shù)字。因為這是枚舉的

本質(zhì)所在,但是很多時候需要在JSON轉(zhuǎn)化的時候做一些操作,使之顯示字符串,因為用戶需要字符串。

方法就是:在枚舉類型上添加屬性標簽

[JsonConverter(typeof(StringEnumConverter))]

舉例如下:

1)、在定義枚舉類型時在類型上聲明一個屬性即可

在MODEL project上引用Json.net

DLL

然后加上Attribute [JsonConverter(typeof(StringEnumConverter))]

eg:

public enum
RecipientStatus
{
Sent,
Delivered,
Signed,
Declined
}
public class
RecipientsInfoDepartResult
{
[JsonConverter(typeof(StringEnumConverter))]
//屬性將枚舉轉(zhuǎn)換為string
public RecipientStatus status {
set; get; }
public PositionBeanResult PredefineSign {
set; get; }
}

2)、利用Enum的靜態(tài)方法GetName與GetNames

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

例如:

Enum.GetName(typeof(Colors),3))與Enum.GetName(typeof(Colors),
Colors.Blue))的值都是"Blue"
Enum.GetNames(typeof(Colors))將返回枚舉字符串數(shù)組

3)、RecipientStatus ty = RecipientStatus.Delivered;

ty.ToString();

2、字符串轉(zhuǎn)枚舉(string->enum)

1)、利用Enum的靜態(tài)方法Parse: Enum.Parse()

原型:

public static Object Parse(Type enumType,string value)
eg : (Colors)Enum.Parse(typeof(Colors), "Red");
(T)Enum.Parse(typeof(T),
strType)

一個模板函數(shù)支持任何枚舉類型

protected static
T GetType<T>(string strType)
{
T t = (T)Enum.Parse(typeof(T),
strType);
return t;
}

判斷某個枚舉變量是否在定義中:

RecipientStatus type = 
RecipientStatus.Sent;
Enum.IsDefined(typeof(RecipientStatus),
type );

總結(jié)

以上所述是小編給大家介紹的C#中enum和string的相互轉(zhuǎn)換,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • C#之lock的使用及說明

    C#之lock的使用及說明

    這篇文章主要介紹了C#之lock的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • C#通過JObject解析json對象

    C#通過JObject解析json對象

    這篇文章介紹了C#通過JObject解析json對象的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 詳解C#中Helper類的使用

    詳解C#中Helper類的使用

    項目中用戶頻繁訪問數(shù)據(jù)庫會導(dǎo)致程序的卡頓,甚至堵塞。使用緩存可以有效的降低用戶訪問數(shù)據(jù)庫的頻次,有效的減少并發(fā)的壓力。而helper類對緩存有了封裝,本文展示了封裝的示例代碼,需要的可以參考一下
    2022-04-04
  • C#簡單輸出日歷的方法

    C#簡單輸出日歷的方法

    這篇文章主要介紹了C#簡單輸出日歷的方法,涉及C#針對日期與時間的簡單操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • 讀寫XML文件的內(nèi)容并將其顯示在ListView控件上的方法

    讀寫XML文件的內(nèi)容并將其顯示在ListView控件上的方法

    下面小編就為大家?guī)硪黄x寫XML文件的內(nèi)容并將其顯示在ListView控件上的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • C#默認雙緩沖技術(shù)實例分析

    C#默認雙緩沖技術(shù)實例分析

    這篇文章主要介紹了C#默認雙緩沖技術(shù),實例分析了雙緩沖技術(shù)的設(shè)置與實現(xiàn)技巧,需要的朋友可以參考下
    2015-06-06
  • C# Winform實現(xiàn)截圖工具的示例代碼

    C# Winform實現(xiàn)截圖工具的示例代碼

    這篇文章主要為大家詳細介紹了如何使用C# Winform制作一個簡單的截圖工具,從而實現(xiàn)截圖功能,文中的示例代碼講解詳細,有需要的可以參考下
    2024-02-02
  • C#設(shè)計模式之Builder生成器模式解決帶老婆配置電腦問題實例

    C#設(shè)計模式之Builder生成器模式解決帶老婆配置電腦問題實例

    這篇文章主要介紹了C#設(shè)計模式之Builder生成器模式解決帶老婆配置電腦問題,簡單介紹了生成器模式的概念、功能并結(jié)合具體實例形式分析了C#生成器模式解決配電腦問題的步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • C# Winform實現(xiàn)繪制圓形進度條

    C# Winform實現(xiàn)繪制圓形進度條

    這篇文章主要為大家詳細介紹了使用C# Winform實現(xiàn)繪制圓形進度條的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編 一起學習一下
    2024-02-02
  • C#多線程同步:Mutex與Semaphore的區(qū)別及使用場景詳解

    C#多線程同步:Mutex與Semaphore的區(qū)別及使用場景詳解

    這篇文章主要介紹了C#多線程同步:Mutex與Semaphore的區(qū)別及使用場景,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03

最新評論

宁陵县| 读书| 菏泽市| 红桥区| 阿拉善盟| 朝阳县| 靖西县| 汾西县| 方正县| 紫金县| 南召县| 新津县| 兰考县| 东宁县| 临漳县| 息烽县| 潢川县| 呼和浩特市| 保德县| 七台河市| 维西| 石屏县| 大厂| 廉江市| 揭西县| 响水县| 阿克陶县| 万载县| 西盟| 郓城县| 江华| 文山县| 邳州市| 扶风县| 霍林郭勒市| 平江县| 宜黄县| 三穗县| 汝南县| 贵阳市| 南投市|