zoukankan      html  css  js  c++  java
  • 位标志

    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;
            }
        }
  • 相关阅读:
    【c++】龟兔赛跑问题
    【2016.3.21】关于字符串的一点总结
    程序员面试宝典(第五版)里的错误
    团队作业_总结_RTCSD2017
    团队作业_一周二周_RTCSD2017
    第三次作业_RTCSD2017
    第二次作业_RTCSD
    分析Demo1闪灯例程里的main.c
    第一次作业_RTCSD2017
    约束与自由
  • 原文地址:https://www.cnblogs.com/Tan-sir/p/6095768.html
Copyright © 2011-2022 走看看