看範例學C#-08 enum列舉型別
enum是一種用來列舉型別的關鍵字
使用enum的好處,提高程式的可讀性,像本例 男生是Male,女生是Female,我們一看就知道
case (short)Sex.Male://值為1
MessageBox.Show("男生");
break;//離開swith
case (short)Sex.Female://值為0
MessageBox.Show("女生");
break;//離開swith
而如果是用數字表示,就會搞不清楚那個是男 那個是女
case 1://值為1
MessageBox.Show("男生");
break;//離開swith
case 0://值為0
MessageBox.Show("女生");
break;//離開swith
使用enum有以下幾點要注意:
enum不能於方法內宣告
資料型別必須是byte、sbyte、short、ushort、int、unit、long或ulong型別
預設的預料型別為int
若列舉項目沒有給定任何整數值,則預設第一個列舉值為0,第二個列舉值為1,以此類推
float與double不可為enum的資料型別
以下為程式碼及註解
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Enum_ex
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
cboNum.Items.Add("0");//集合索引值0的值為0
cboNum.Items.Add("1");//集合索引值1的值為1
cboNum.SelectedIndex = 1;//設定 預設索引值為1
}
public enum Sex : short
{
Female = 0,//enum每行以,結尾
Male = 1,
};
private void btnShow_Click(object sender, EventArgs e)
{
short Num = 0;
if (cboNum.Text != "")
{
Num = short.Parse(cboNum.Text);//將選取文字轉為short型別
}
switch (Num)
{
case (short)Sex.Male://值為1
MessageBox.Show("男生");
break;//離開swith
case (short)Sex.Female://值為0
MessageBox.Show("女生");
break;//離開swith
default:
MessageBox.Show("數值不在範圍內");//非男非女 才會執行到這邊 下拉選單只有 0 1 可以選,所以這個基本上不可能發生
break;//離開swith
}
}
}
}
如有錯誤 歡迎指正