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;
            }
        }
  • 相关阅读:
    11.01T3 实数二分
    11.01T2 树状数组维护动态LIS
    11.1T1打表
    10.31T4 HAOI2010最长公共子序列 计数+容斥原理
    10.31T3 其他算法思想
    10.31T2 点双联通分量+预处理前缀+二分答案
    10.31T1 二分图
    10.30T3 换根
    10.30T2 二分+前缀和(后缀和)
    10.30T1 期望DP
  • 原文地址:https://www.cnblogs.com/Tan-sir/p/6095768.html
Copyright © 2011-2022 走看看