• 标记枚举(flags)的使用


        标记枚举是为标记相互包含而使用的,每个成员被赋给一个唯一的按位值。
        用按位或运算符(|)来组合按位标记。用按位和运算符(&)来确定一个标记的存在。
        从组合状态中去掉一个元素用& (~)。
    示例代码:

     1using System;
     2using System.Collections.Generic;
     3using System.Text;
     4
     5namespace ConsoleApplication1
     6{
     7    class Program
     8    {
     9        [Flags]
    10        public enum Contribution
    11        {
    12            Pension=0x01,
    13            ProfitSharing=0x02,
    14            CreditBureau=0x04,
    15            SavingsPlan=0x08,
    16            All = Pension | ProfitSharing | CreditBureau | SavingsPlan
    17        }

    18        public class Employee
    19        {
    20            private Contribution prop_contributions;
    21            public Contribution contributions
    22            {
    23                get return prop_contributions; }
    24                set { prop_contributions = value; }
    25            }

    26        }

    27
    28        public class Starter
    29        {
    30            public static void Main()
    31            {
    32                Employee bob = new Employee();
    33                bob.contributions = Contribution.ProfitSharing | Contribution.CreditBureau;
    34                if ((bob.contributions & Contribution.ProfitSharing) == Contribution.ProfitSharing)
    35                {
    36                    Console.WriteLine("Bob enrolled in profit sharing");
    37                    Console.WriteLine(bob.contributions);
    38                    bob.contributions = bob.contributions & (~Contribution.ProfitSharing);
    39                    Console.WriteLine(bob.contributions);
    40                }

    41            }

    42        }

    43    }

    44}
  • 相关阅读:
    Server Develop (三) 多进程实现C/S
    Server Develop (二) 多线程实现C/S
    Server Develop (一) 简单的TCP/IP C/S
    Server Develop (四) select实现非阻塞sever
    js添加、修改、删除xml节点例子
    网站弹出“位于Google Code SubversionRepository 的服务器……”的解决办法
    iframe嵌入网页
    asp空间判断jmail组件是否安装或支持的代码
    IE8的margintop兼容问题
    不错的CMS,值得借鉴!
  • 原文地址:https://www.cnblogs.com/fang8206/p/1830133.html
Copyright © 2020-2023  润新知