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