C# switch語句與枚舉類型


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    enum Day  //枚舉類型
    {
        Sunday,
        Monday,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday
    }
    class Program
    {
        static void Main(string[] args)
        {
            Day MyDay ;
            int pass = Convert.ToInt16(Console.ReadLine());
            switch (pass)   //switch語句,等於delphi中的case語句
            {
                case (int)(Day.Sunday):
                    MyDay = Day.Sunday;
                    Console.WriteLine("今天是星期天,還可以睡個懶覺. {0}",MyDay);
                    break;
                case (int)Day.Monday :
                    MyDay = Day.Monday;
                    Console.WriteLine("今天該上班咯,新的一星期開始了!! {0}",MyDay);
                    break;
                case (int)Day.Tuesday :
                    MyDay = Day.Tuesday;
                    Console.WriteLine("本周的第二個工作日. {0}",MyDay);
                    break;
                case (int)Day.Wednesday :
                    MyDay = Day.Wednesday;
                    Console.WriteLine("本周的第三個工作日 {0}", MyDay);
                    break;
                case (int)Day.Thursday :
                    MyDay = Day.Thursday;
                    Console.WriteLine("本周的第四個工作日 {0}",MyDay);
                    break;
                case (int)Day.Friday :
                    MyDay = Day.Friday;
                    Console.WriteLine("本周的最后一個工作日, 把工作都完成明天你就可以睡懶覺了.! 加油 {0}",MyDay);
                    break;
                case (int)Day.Saturday:
                    MyDay = Day.Saturday;
                    Console.WriteLine("今天是星期六,想好去哪玩了嗎? {0}",MyDay);
                    break;
                default :
                    Console.WriteLine("你輸入了錯誤的信息");
                    break;
                    
            }

            }
        }
    }
// 枚舉類型雖然表面上看着是一個字符串,但是實際上它在內存中存儲的整形數值.
// 所以枚舉類型是可以用數學運算符進行運算的, 比如. MyDay++;
甚至是可以做異或運算,與運算等. 不過需要先將其轉換為整型. 比如. Console.WriteLine(Convert.Toint32(MyDay)^1);

但是有一點要記住, 做數學運算的時候,如果計算的范圍超過了枚舉范圍,那么這個枚舉類型變量將會變成一個數字.
假如
Day = Saturday,這個時候再進行 Day++運算的話,那么Day會返回一個數字, 在這里返回的數字是7
 
         
         
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM