close

今天分享一個很好用的運算式 "Switch"

和一個常和"Switch"搭配的"enum"

"Switch"常常用在我們需要判斷收到什麼值時而要做什麼動作

其實這功能跟"If"很像,或著說就是化簡了滿滿的一排"If"

先大概介一下"Switch"

switch ( 變數 )

{

        case 值1 :        //  If ( 變數 == 值1)

                Function1;

                break;

        case 值2 :        //  else If ( 變數 == 值2)

                Function2;

                break;

        defalut :        //  else

                Function3;

                break;

}

大概就像上面所說惖樣那,是一個很簡單易懂的東西,但是功能可以延伸的很強大

"enum"就比較像自己創造一個新的定義數值

可以把自己定義的變數轉換成數值,類似將人類看的懂的詞跟電腦看的懂的詞做一個橋梁

如下

public enum EnumTest
{
        EnumTest1 = 1000,
        EnumTest2 = 1001,
        EnumTest3 = 1002,
        EnumTest4 = 1003,
}

直接來實例吧

1.開啟Form專案,拉出button,textbox,label各一個

1.png

2.點擊button進入程式碼頁面,輸入下列程式

   private void button1_Click(object sender, EventArgs e)
        {
            switch(textBox1.Text)
            {
                case "0":
                    label1.Text = "EnumTest1 = " + Convert.ToInt32(EnumTest.EnumTest1);
                    break;
                case "1":
                    label1.Text = "EnumTest2 = " + Convert.ToInt32(EnumTest.EnumTest2);
                    break;
                case "2":
                    label1.Text = "EnumTest3 = " + EnumTest.EnumTest3;
                    break;
                case "3":
                    label1.Text = "EnumTest4 = " + EnumTest.EnumTest4;
                    break;
                default:
                    label1.Text = "Default!! ";
                    break;
            }
        }

2.png

3.在class底下輸入

  public enum EnumTest
        {
            EnumTest1 = 1000,
            EnumTest2 = 1001,
            EnumTest3 = 1002,
            EnumTest4 = 1003,
        }

3.png

4.執行結果

4.png

5.在textbox輸入不同值,按下button會使label出現不同結果

   不同的結果是因為switch所選擇出來的

   0,1 是將顯示的enum轉為我們自己定義的數字 

   2.3 是只顯示enum的文字

6.enum也很常出現在資料介面

如果你要和其他人交接資訊,別人不需要知道你內定的數值代表什麼意思

只要知道你enum的變數名程即可,可以更加方便人與人之前交流

7.enum也很容易出現在錯誤碼(Alarm)

可以定義程式傳出錯誤碼後,利用enum轉回使用者看的懂的文字

 

是不是很方便呢,其實switch搭配迴圈也有很有趣的應用

有空在把他整理起來^^

 

 

 

 

 

arrow
arrow
    文章標籤
    C# Switch enum
    全站熱搜
    創作者介紹
    創作者 阿寶子 的頭像
    阿寶子

    被程式耽誤的遊戲師

    阿寶子 發表在 痞客邦 留言(0) 人氣()