C#枚舉數(shù)值與名稱的轉(zhuǎn)換實例分享
首先建立一個枚舉:
/// <summary>
/// 顏色
/// </summary>
public enum ColorType
{
/// <summary>
/// 紅色
/// </summary>
Red,
/// <summary>
/// 藍色
/// </summary>
Bule,
/// <summary>
/// 綠色
/// </summary>
Green
}
獲得枚舉數(shù)值:
int code = ColorType.Red.GetHashCode();
有數(shù)值獲得枚舉名稱:
string name1=ColorType.Red.ToString();
//或者
string name2= Enum.Parse(typeof(ColorType), code.ToString()).ToString();
以上獲得的枚舉名稱,是英文,如果要獲得相應的中文解釋,可以利用Attribute來實現(xiàn),代碼如下:
/// <summary>
/// 顏色
/// </summary>
public enum ColorType
{
/// <summary>
/// 紅色
/// </summary>
[Description("紅色")]
Red,
/// <summary>
/// 藍色
/// </summary>
[Description("藍色")]
Bule,
/// <summary>
/// 綠色
/// </summary>
[Description("綠色")]
Green
}
在枚舉中,加入Description,然后建立一個類,有如下方法用來把枚舉轉(zhuǎn)換成對應的中文解釋:
public static class EnumDemo
{
private static string GetName(System.Type t, object v)
{
try
{
return Enum.GetName(t, v);
}
catch
{
return "UNKNOWN";
}
}
/// <summary>
/// 返回指定枚舉類型的指定值的描述
/// </summary>
/// <param name="t">枚舉類型</param>
/// <param name="v">枚舉值</param>
/// <returns></returns>
public static string GetDescription(System.Type t, object v)
{
try
{
FieldInfo oFieldInfo = t.GetField(GetName(t, v));
DescriptionAttribute[] attributes = (DescriptionAttribute[])oFieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
return (attributes.Length > 0) ? attributes[0].Description : GetName(t, v);
}
catch
{
return "UNKNOWN";
}
}
}
調(diào)用方法如下:
string name3=EnumDemo.GetDescription(typeof(ColorType), ColorType.Red)
相關文章
C#用RabbitMQ實現(xiàn)消息訂閱與發(fā)布
在消息隊列模型中,如何將消息廣播到所有的消費者,這種模式成為“發(fā)布/訂閱”。本文主要以一個簡單的小例子,簡述通過fanout交換機,實現(xiàn)消息的發(fā)布與訂閱,僅供學習分享使用,如有不足之處,還請指正。2021-05-05automation服務器不能創(chuàng)建對象 解決方法
本文主要介紹如何解決“automation服務器不能創(chuàng)建對象”錯誤,從而解決Visual Studio.Net不能正常使用的問題,需要的朋友可以參考下。2016-06-06C# DataTable 轉(zhuǎn)換為 實體類對象實例
如果你的實體類與數(shù)據(jù)庫表是完全一致的。上代碼:2013-04-04C#實現(xiàn)DataGridView控件行列互換的方法
這篇文章主要介紹了C#實現(xiàn)DataGridView控件行列互換的方法,涉及C#中DataGridView控件元素遍歷與添加操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08Visual Studio 2019 清理空行問題(非正則表達式)
這篇文章主要介紹了Visual Studio 2019 清理空行問題(非正則表達式),本文通過實例截圖給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04