登山-C#-enum類型基礎

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

namespace EnumTest
{
    class Program
    {
        //枚舉類型的定義,通常默認爲int類型,可以通過第二種方式指定另一種整數值類型。
        //枚舉支持的類型有byte,sbyte,short,ushort,int,uint,long或ulong
        //枚舉類型,默認從0開始,增量爲1,依次遞增

        private enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
        private enum Months : byte { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };
        
        //枚舉類型也可以通過給每個

        /*使用枚舉的好處
         * 1.只看個數字,不能看出值代表的含義
         * 2.vs編程時,IntelliSense列出定義的值
        */


        //enum還可以與Flags特性配合使用
        [Flags]
        enum Days2
        {
            None = 0x0,
            Sunday = 0x1,
            Monday = 0x2,
            Tuesday = 0x4,
            Wednesday =0x8,
            Thurday = 0x10,
            Friday = 0x20,
            Saturday = 0x40
        }

        static void Main(string[] args)
        {
            Days today = Days.Monday;
            int dayNumber = (int)today;
            Console.WriteLine("{0} is day number #{1}", today, dayNumber);
            Months thisMonth = Months.Mar;
            byte monthNumber = (byte)thisMonth;
            Console.WriteLine("{0} is month number #{1}", thisMonth, monthNumber);

            //表示星期二和星期四開會
            Days2 meetingDays = Days2.Tuesday | Days2.Thurday;
            //如果要加一天星期五
            meetingDays = meetingDays | Days2.Friday;
            Console.WriteLine("Meeting days are {0}",meetingDays);
            //減去一天
            meetingDays = meetingDays ^ Days2.Tuesday;
            Console.WriteLine("Meeting days are {0}", meetingDays);
            Console.Read();
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章