c# enum 枚舉一般用法

c# enum

public enum Demo
{
Moning = 0,
Afternoon = 1,
Evening = 2,
};

枚舉方法

1、獲取枚舉字符串

Demo time = Demo.Afternoon;

Console.WriteLine(time.ToString());//輸出:Afternoon

2、Enum.Parse()方法。這個(gè)方法帶3個(gè)參數(shù),第一個(gè)參數(shù)是要使用的枚舉類型。其語(yǔ)法是關(guān)鍵字typeof后跟放在括號(hào)中的枚舉類名。typeof運(yùn)算符將在第5章詳細(xì)論述。第二個(gè)參數(shù)是要轉(zhuǎn)換的字符串,第三個(gè)參數(shù)是一個(gè)bool,指定在進(jìn)行轉(zhuǎn)換時(shí)是否忽略大小寫。最后,注意Enum.Parse()方法實(shí)際上返回一個(gè)對(duì)象引用——我們需要把這個(gè)字符串顯式轉(zhuǎn)換為需要的枚舉類型(這是一個(gè)取消裝箱操作的例子)。對(duì)于上面的代碼,將返回1,作為一個(gè)對(duì)象,對(duì)應(yīng)于Demo.Afternoon的枚舉值。在顯式轉(zhuǎn)換為int時(shí),會(huì)再次生成1。

Demo time2 = (Demo) Enum.Parse(typeof(Demo), "afternoon", true);

Console.WriteLine((int)time2);//輸出1

3、得到枚舉的某一值對(duì)應(yīng)的名稱

lbOne.Text = Enum.GetName(typeof(Demo), 0);
lbOne.Text = ((Demo)0).ToString();//返回:Morning

兩種方法都能實(shí)現(xiàn),但是當(dāng)其值越界(不是枚舉所列出的值),就有一定的區(qū)別了。大家可以根據(jù)自己的需求不同,選擇合適的方法。

lbCon.Text = ((Demo)5).ToString(); //返回:5,如果越界返回原值

this.lbGetName.Text = Enum.GetName(typeof(Demo), 5); //返回:空字符串,如果越界返回空字符串

4、得到枚舉的所有的值

foreach (int i in Enum.GetValues(typeof(Demo)))
lbValues.Text += i.ToString();
5、枚舉所有的名稱

foreach(string temp in Enum.GetNames(typeof(Demo)))
lbNames.Text+=temp;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,685評(píng)論 0 4
  • title: "Swift 中枚舉高級(jí)用法及實(shí)踐"date: 2015-11-20tags: [APPVENTUR...
    guoshengboy閱讀 2,692評(píng)論 0 2
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 34,753評(píng)論 18 399
  • 你現(xiàn)在的生活狀態(tài)可能不盡如意,但你要承認(rèn)現(xiàn)在的生活狀態(tài)絕對(duì)是你自找的。 早上起來(lái)看松下幸之助老先生的文字又加上聽聞...
    惠云兒閱讀 460評(píng)論 0 0
  • 和同學(xué)一起吃飯,看她吃的好香,自己只吃了一點(diǎn)就不想吃下去了。吃飯的滋味就這樣在別人嘴巴里被詮釋著。我想這大概就是一...
    喵喵愛(ài)藍(lán)天閱讀 149評(píng)論 0 0

友情鏈接更多精彩內(nèi)容