码迷,mamicode.com
首页 > 其他好文 > 详细

位标志

时间:2016-11-24 07:41:36      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:intern   hid   iss   stat   tostring   sse   adk   sem   console   

class Program
    {
        static void Main(string[] args)
        {
            string file = Assembly.GetEntryAssembly().Location;
            FileAttributes attributes = File.GetAttributes(file);
            Console.WriteLine("Is {0} hidden?{1}", file, (attributes & FileAttributes.Hidden) != 0);
            //  File.SetAttributes(file, FileAttributes.ReadOnly | FileAttributes.Hidden);
            Action actions = Action.Read | Action.Delete;//未加Flags输出为5。Flags将把它视为一组位标志,输出Read,Delete
            //Action actions = Action.Read & Action.Delete;
            Console.WriteLine(actions.ToString());

            FileAttributes fa = FileAttributes.System;
            fa = fa.Set(FileAttributes.ReadOnly);
            Console.ReadKey();
        }
    }
    //17 & 13 = 10001 & 01101 = 00001 也就是1
    //17 | 13 = 10001 | 01101 = 11101 也就是 29

      
        [Flags]
    internal enum Action
    {
        None = 0,
        Read = 0x0001,
        Write = 0x0002,
        ReadWrite = Action.Read | Action.Write,
        Delete = 0x0004,
        Query = 0x0008,
        Sync = 0x0010
    }

    internal static class FileAttributesExtensionMethods
    {
        public static Boolean IsSet(this FileAttributes flags, FileAttributes flagToTest)
        {
                return (flags & flagToTest) == flagToTest;
        }

        public static FileAttributes Set(this FileAttributes flags, FileAttributes setFlags)
        {
            return flags | setFlags;
        }
    }

 

位标志

标签:intern   hid   iss   stat   tostring   sse   adk   sem   console   

原文地址:http://www.cnblogs.com/Tan-sir/p/6095768.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!