标志枚举

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

namespace _05标志枚举
{
    class Program
    {
        static void Main(string[] args)
        {
            //FileInfo info = new FileInfo(@"c:\hello.txt");
            //Console.WriteLine(info.Attributes);
            //info.Attributes = FileAttributes.ReadOnly | FileAttributes.Hidden | FileAttributes.Archive | FileAttributes.Compressed;

 

            ////=========================================================
            // //UserState state = UserState.Busy;
            // //为标志枚举赋值
            // GoodPeople lyh = GoodPeople.白 | GoodPeople.富 | GoodPeople.高 | GoodPeople.帅;

            // //验证lyh的枚举中是否具有白,这一项。
            // if ((lyh & GoodPeople.白) == GoodPeople.白)
            // {
            //     Console.WriteLine("小伙子很白!");
            // }
            // else
            // {
            //     Console.WriteLine("不白!");
            // }

            // Console.WriteLine(lyh);
            // Console.ReadKey();

            //====================================判断一个文件是否隐藏===================
            FileInfo info = new FileInfo(@"c:\hello.txt");
            if ((info.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
            {
                Console.WriteLine("文件时隐藏的!");
            }
            else
            {
                Console.WriteLine("不隐藏!!!");
            }
            Console.ReadKey();
        }


    }

    [Flags]//标志枚举,加上这个特性后枚举类型.ToString()返回的就是文字形式,不是数字了。
    public enum GoodPeople
    {
        高 = 1,
        富 = 2,
        帅 = 4,
        白 = 8,
        美 = 16
    }

 

    //默认枚举都是使用int来替代的,但是也可以指定具体的数据类型。
    //枚举:byte表示,限制类枚举中的数字类型。
    public enum UserState : byte
    {
        //一般枚举中的每个值都是互斥的。
        QMe,
        OnLine = 100,
        OffLine,
        Busy,
        Hide = 250,
        Left  //离开
    }
}

 

posted @ 2013-07-17 20:28  墓地de小草  阅读(195)  评论(0编辑  收藏  举报