首頁 後端開發 C#.Net教程 C#中enum與string的相互轉換的範例

C#中enum與string的相互轉換的範例

Sep 05, 2017 pm 02:36 PM
enum string

這篇文章主要介紹了C#中enum和string的相互轉換的相關資料,需要的朋友可以參考下

C# Json轉換操作

枚舉類型

Enum為枚舉提供基類,其基礎型別可以是除

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

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

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

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

我們的物件中包含枚舉類型,在序列化成Json字串的時候,顯示的是枚舉類型對應的數字。因為這是枚舉的

本質所在,但是很多時候需要在JSON轉換的時候做一些操作,使之顯示字串,因為使用者需要字串。

方法是:在枚舉類型上新增屬性標籤


[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))]
//属性将枚举转换为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)
登入後複製

例如:


Enum.GetName(typeof(Colors),3))与Enum.GetName(typeof(Colors),
Colors.Blue))的值都是"Blue"
Enum.GetNames(typeof(Colors))将返回枚举字符串数组
登入後複製

3)、RecipientStatus ty = RecipientStatus.Delivered;


ty.ToString();
登入後複製

2、字串轉枚舉(string->enum)

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

原型:


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;
}
登入後複製

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


RecipientStatus type = 
RecipientStatus.Sent;
Enum.IsDefined(typeof(RecipientStatus),
type );
登入後複製

總結

#

以上是C#中enum與string的相互轉換的範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
使用java的String.valueOf()函數將基本資料型別轉換為字串 使用java的String.valueOf()函數將基本資料型別轉換為字串 Jul 24, 2023 pm 07:55 PM

使用Java的String.valueOf()函數將基本資料型別轉換為字串在Java開發中,當我們需要將基本資料型別轉換為字串時,常見的方法是使用String類別的valueOf()函數。這個函數可以接受基本資料類型的參數,並傳回對應的字串表示。在本文中,我們將探討如何使用String.valueOf()函數進行基本資料型別轉換,並提供一些程式碼範例來

怎麼把char數組轉string 怎麼把char數組轉string Jun 09, 2023 am 10:04 AM

char陣列轉string的方法:可以透過賦值來實現,使用{char a[]=" abc d\0efg ";string s=a;}語法,讓char陣列對string直接賦值,執行程式碼即可完成轉換。

Python 2.x 中如何使用enum模組定義枚舉類型 Python 2.x 中如何使用enum模組定義枚舉類型 Jul 29, 2023 pm 09:33 PM

Python2.x中如何使用enum模組定義枚舉類型引言:枚舉是一種資料類型,它將變數的取值限定在一個有限的範圍內,使用枚舉類型可以使程式碼更加清晰和可讀。在Python2.x中,我們可以使用enum模組來定義枚舉類型。本文將介紹如何使用enum模組來定義和使用枚舉類型,並給出對應的程式碼範例。導入enum模組在使用enum模組之前,首先需要導入模組。在

使用java的String.replace()函數替換字串中的字元(字串) 使用java的String.replace()函數替換字串中的字元(字串) Jul 25, 2023 pm 05:16 PM

使用Java的String.replace()函數替換字串中的字元(字串)在Java中,字串是不可變的對象,這意味著一旦創建了一個字串對象,就無法修改它的值。但是,你可能會遇到需要替換字串中的某些字元或字串的情況。這時候,我們可以使用Java的String類別中的replace()方法來實作字串的替換。 String類別的replace()方法有兩種重

使用java的String.length()函數取得字串的長度 使用java的String.length()函數取得字串的長度 Jul 25, 2023 am 09:09 AM

使用Java的String.length()函數取得字串的長度在Java程式設計中,字串是一種非常常見的資料類型,我們經常需要取得字串的長度,即字串中字元的個數。在Java中,我們可以使用String類別的length()函數來取得字串的長度。下面是一個簡單的範例程式碼:publicclassStringLengthExample{publ

2w字 詳解 String,yyds 2w字 詳解 String,yyds Aug 24, 2023 pm 03:56 PM

大家好,今天跟大家分享java基礎之String。 String類別的重要性就不必說了,可以說是我們後端開發用的最多的類,所以,很有必要好好聊聊它。

java的String類別如何使用 java的String類別如何使用 Apr 19, 2023 pm 01:19 PM

一、認識String1.JDK中的String首先我們看看JDK中的String類別源碼,它實作了很多接口,可以看到String類別被final修飾了,這就說明String類別不可以被繼承,String不存在子類,這樣所有使用JDK的人,用到的String類別都是同一個,如果String允許被繼承,每個人都可以對String進行擴展,每個人使用的String不是同一個版本,兩個不同的人使用相同的方法,表現出不同的結果,這就導致程式碼沒辦法進行開發了繼承和方法覆寫在帶來彈性的同時,也會帶來很多子類別行為不

使用java的String.toLowerCase()函數將字串轉換為小寫 使用java的String.toLowerCase()函數將字串轉換為小寫 Jul 24, 2023 pm 11:52 PM

String.toLowerCase()函數是Java中一個非常有用且常見的字串處理函數,它可以將一個字串轉換為小寫形式。在本文中,我們將介紹該函數的使用方法,並給出一些相關的程式碼範例。首先,讓我們來看看String.toLowerCase()函數的基本語法。它沒有任何參數,只需要呼叫它。下面是範例程式碼:Stringstr="Hel

See all articles