讀書筆記 enum枚舉之位標志屬性(Flags)淺析


針對enum枚舉來說,可以定義位標志屬性,從而使該枚舉類型的實例可以存儲枚舉列表中定義值的任意組合。可以用 與(&)、或(|)、異或(^)進行相應的運算。廢話不多說,代碼最直接。

        //每一個定義值都是一個位標志
        [Flags]
        enum Days { 
            Sunday=0x01,
            Monday=0x02,
            Tuesday=0x04,
            Wednesday=0x08,
            Thursday=0x10,
            Friday=0x20,
            Saturday=0x40
        }

//---------------------------------------------------

            //可以用 或(|) 運算符來組合
            Days meetingDay = Days.Monday | Days.Tuesday;
            Console.WriteLine(meetingDay);
            //打印 Monday, Tuesday

            //用 與(&) 運算符來判斷是否包含該值 打印yes
            if((meetingDay & Days.Monday) == Days.Monday)
                Console.WriteLine("yes");
            else 
                Console.WriteLine("none");

            //用 異或(^) 運算符來去除其中一個值
            meetingDay = meetingDay ^ Days.Monday;
            Console.WriteLine(meetingDay);
            //打印 Tuesday

 


免責聲明!

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



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