程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> 關於枚舉

關於枚舉

編輯:關於C#

一提起枚舉,我想各位是熟悉得無法形容的了。枚舉有啥用?枚舉就是用來對一系列可選值進行規范 。

舉個例子說,

定義一個關於廁所的枚舉,通常我們見到的廁所有男廁,女廁,或者狗 廁。是吧,估計你走在大街上很少看到有龜廁的吧。因此,為了讓使用我們代碼的人能有一個規范供他 參考,於是我們會把男廁、女廁和狗廁三種可選項定義在一個枚舉類型“廁所”中。

再比如,我 們在開發一個下象棋的應用程序時,在開始時對陣雙方要選一方模子,而我們有效的選項是紅方或黑方 (有的是紅方和綠方),為了防止有的玩家選到了白方,藍方之類不符合規范的顏色,我們就可以定義 一個枚舉來限定之。

先說枚舉的第一件私事——Enum.GetNames方法。

這個方法可以把 指定枚舉的所有成員的名字返回到一個字符串數組中。比如我們有一個枚舉:

enum  rencai {  白癡,   奇才,   鬼才  };

於是執行Enum.GetNames( typeof( rencai ) ) 後會返回一個字符串數組,這個字符串數組就包含:白癡,奇才,鬼才三個元素。

這個方法對於用來把枚舉的成員綁定到一個列表框,或者一個下拉列表框時比較實用。

枚舉的第二件私房事——Parse或TryParse

這個和int.Parse差不多,可以把表示枚舉成員的名 稱的字符串轉化為指定枚舉類型的對應的值。

如上面的人才枚舉,如果把 “白癡”傳給Parse方 法,這樣就可以返回一個表示白癡的枚舉值。

簡單示例

下面我舉一個人類歷史上最簡 單的例子。

這是一個WinForm程序,我定義了一個表示性別的枚舉,它包含三個值,表示三種性 別:

enum Gender  
{  
    男,  
    女,  
    人妖  
}

然後,在程序運行時,用GetNames方法把Gender枚舉的所有成員的名字取出來,綁定到 ComboBox中,這樣下拉列表中就限定了這三個選項了。

// 將可用的效值枚舉值放到ComboBox

中  
var items = Enum.GetNames(typeof(Gender));  
this.comboBox1.DataSource = items;

然後在單擊按鈕後,用Parse方法從ComboBox選擇項的 字符串中轉換成Gender的指定的值了。

private void button1_Click(object sender, 

EventArgs e)  
{  
    if (this.comboBox1.SelectedIndex == -1)  
    {  
        return;  
    }  
    string enumItem = this.comboBox1.SelectedItem as string;  
    if (!string.IsNullOrEmpty(enumItem))  
    {  
        Gender gd = (Gender)Enum.Parse(typeof(Gender), enumItem);  
        switch (gd)  
        {  
            case Gender.男:  
                this.textBox1.Text = "您是一位帥哥。";  
                break;  
            case Gender.女:  
                this.textBox1.Text = "你是一位美女。";  
                break;  
            case Gender.人妖:  
                this.textBox1.Text = "發現未知物種。";  
                break;  
            default:  
                break;  
        }  
    }  
}

今天說的內容不多,不過 應該還較為實用的。

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved