位标志

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;
        }
    }
时间: 2024-10-05 11:59:18

位标志的相关文章

第三部分 基本类型:第15章 枚举类型和位标志

15.1 枚举类型枚举类型定义了一组“符号名称/值”配对.例如,以下Color类型定义了一组符合,每个符号表示一种颜色. internal enum Color{ White, //赋值0 Red, //赋值1 Green, //赋值2 Blue, //赋值3 Orange //赋值4 } 枚举类型的好处:枚举类型容易编写.阅读和维护.枚举类型是强类型. 派生关系:System.Object -> System.ValueType -> System.Enum -> 枚举类型 枚举类型是

第15章 枚举类型和位标志

Enumeration提供了一些非常炫酷的功能,相信大多数开发人员都不熟悉.这些新功能极大的简化了应用程序开发. 15.1枚举类型 枚举类型(enumerated types)定义了一组“符号名称/值”配对. 以下Color类型定义了一组符号,每个符号都标识一种颜色: internal enum Color { White,//赋值0 Red,  //赋值1 Greed,//赋值2 Blue, //赋值3 Orange//赋值4 } 当然,也可以写个程序用0代表白色,1代表红色,以此类推.但不应

第十五章 枚举类型和位标志

1. 概述 本章内容包括 枚举类型.位标志 以及 为枚举类型添加方法. 2. 主要内容 2.1 枚举类型 枚举类型定义了一组“符号名称/值”配对. 枚举类型的好处包括: ① 可以使程序更容易编写.阅读和维护. ② 枚举类型是强类型的,有编译器检测. 编译枚举类型时,C#编译器会把每个符号转换成类型的一个常量字段. System.Enum类型有一个名为GetUnderlyingType的静态方法,返回用于容纳一个枚举类型的值的基础类型. Enum.GetUnderlyingType(typeof(

IP分片如何分片?如何组装?三位标志分别是哪三位?

分片 当数据报的长度超过了MTU(最大传出单元),IP层就要对数据报分片. 对于发送端发送的每份IP数据报来说,其标识字段都包含一个唯一值.该值在数据报分片时被复制到每个片中.标志字段用其中一个比特来表示"更多的片".除了最后一片外,其他每个组成数据报的片都要把该比特置1.片偏移字段指的是该片偏移原始数据报开始处的位置.另外,当数据报被分片后,每个片的总长度值要改为该片的长度值.最后,标志字段中有一个比特称作"不分片"位.如果将这一比特置1,IP将不对数据报进行分片

第15章 枚举类型和位标志 15.1-15.3

Enumeration提供了一些非常炫酷的功能,相信大多数开发人员都不熟悉.而这些新功能极大的简化了应用程序的开发. 15.1枚举类型 枚举类型(enumerated types)定义了一组“符号名称/值”配对. 以下Color类型定义了一组符号,每个符号都标识一种颜色: internal enum Color { White,//赋值0 Red, //赋值1 Greed,//赋值2 Blue, //赋值3 Orange//赋值4 } 当然,我们也可以写个程序用0代表白色,1代表红色,以此类推.

C++STL位标志、智能指针与异常处理

参考<21天学通C++>第25章节,对STL位标志进行介绍.就是当需要不是像char int long 等整个字节数的数据表示形式,而是使用二进制位表示的时候,通常使用这里讲到的位标志.从C++标准模板库的角度讲,实现了两种形式的位标志:bitset类与vector<bool> 模板来较为方便的实现各种各样的位存储与位操作. 一.使用STL位标志 位是存储设置与标志的高效方法.标准模板库提供了可帮助组织与操作位信息的类. 1. bitset类 std::bitset不是STL容器类

15.导出位标志

导出位标志 作为位标志的整数可以在一个属性中存储多个"true"/"false"(boolean)值.通过使用导出提示' ' int, FLAGS ' ',它们可以从编辑器中设置: # Individually edit the bits of an integer. export(int, FLAGS) var spell_elements = ELEMENT_WIND | ELEMENT_WATER 也可以将标志限制为指定数量的标志.语法类似于枚举语法: # S

枚举类型和位标志

一.枚举类型 编译枚举时,C#编译器把每个符号转换成类型的一个常量字段.例如将Color枚举类型看成以下代码 //编译枚举时,c#编译器把每个符号转化成类型的一个常量字段 internal struct Color : System.Enum { //以下一些公共常量,它们定义了Color的符号和值 public const Color White = (Color) 0; public const Color Red = (Color) 1; //以下是一个公共实例字段,包含Color变量的值

标志位介绍

一.运算结果标志位 1.进位标志CF(Carry Flag) 进位标志CF主要用来反映运算是否产生进位或借位.如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0. 使用该标志位的情况有:多字(字节)数的加减运算,无符号数的大小比较运算,移位操作,字(字节)之间移位,专门改变CF值的指令等. 2.奇偶标志PF(Parity Flag) 奇偶标志PF用于反映运算结果中“1”的个数的奇偶性.如果“1”的个数为偶数,则PF的值为1,否则其值为0. 利用PF可进行奇偶校验检查,或产生奇