现在的位置: 首页 > 综合 > 正文

枚举的位运算

2018年10月20日 ⁄ 综合 ⁄ 共 1101字 ⁄ 字号 评论关闭

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

namespace FlagDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //string _file = @"C:\unintall.log";
            //FileAttributes attributes = File.GetAttributes(_file);

            //Console.WriteLine("Is {0} hidden? {1}", _file, (attributes & FileAttributes.Hidden) == FileAttributes.Hidden);

            //File.SetAttributes(@"D:\AssetWin32Xml.xml",  FileAttributes.Normal);

            Actions actions = Actions.Read | Actions.Write;
            Console.WriteLine(actions.ToString());

            Actions a = (Actions)Enum.Parse(typeof(Actions), "Query", true);
            Console.WriteLine(a.ToString());

            a = (Actions)Enum.Parse(typeof(Actions), "Query, Read", false);
            Console.WriteLine(a.ToString(""));

            a = (Actions)Enum.Parse(typeof(Actions), "14", false);
            Console.WriteLine(a.ToString(""));
        }
    }

    [Flags]
    internal enum Actions
    {
        Read = 1<<0,  //1
        Write = 1<<1,  //2
        Delete = 1<<2,  //4
        Query  = 1<<3, //8
        Sync = 1<<4,  //16
    }

}

抱歉!评论已关闭.