如何使用枚举的组合值

简介:
有时我们需要将枚举定义为1,2,4,8.......的值,这样当传入一个3,那么就是表示1,2的组合,如果传入7,那就表示1,2,4的组合。要实现这种功能我们需要用到FlagsAttribute。具体用法如下:
1.定义Enum。
[Flags]
public   enum  FormType
{
    Reimburse
= 1 ,
    Payment
= 2 ,
    Precharge
= 4 ,
    PO
= 8
}
2.组合枚举值的判断:
public   static   void  Print(FormType ft)
    
{
        
if((ft&FormType.Reimburse)==FormType.Reimburse)//与判断
        {
            Console.WriteLine(
"Reimburse");
        }

        
if((ft&FormType.Payment)==FormType.Payment)
        
{
            Console.WriteLine(
"Payment");
        }

        
if((ft&FormType.Precharge)==FormType.Precharge)
        
{
            Console.WriteLine(
"Precharge");
        }

        
if((ft&FormType.PO)==FormType.PO)
        
{
            Console.WriteLine(
"PO");
        }

        Console.WriteLine(
"End");
    }

3.生成组合枚举:
FormType ft = FormType.Reimburse | FormType.PO;
Print(ft);
运行输出的结果就是:
Reimburse
PO
目录
相关文章
|
1月前
|
安全 算法 编译器
【C++基础语法 枚举】C/C++ 中enum枚举量的介绍:介绍enum枚举量在C/C中的作用和使用方法
【C++基础语法 枚举】C/C++ 中enum枚举量的介绍:介绍enum枚举量在C/C中的作用和使用方法
32 2
|
API Serverless 监控
函数组合的N种方式
随着以函数即服务(Function as a Service)为代表的无服务器计算(Serverless)的广泛使用,很多用户遇到了涉及多个函数的场景,需要组合多个函数来共同完成一个业务目标,这正是微服务“分而治之,合而用之”的精髓所在。
2224 0
|
安全 JavaScript
学习TypeScrip2(任意类型)
TypeScript 3.0中引入的 unknown 类型也被认为是 top type ,但它更安全。与 any 一样,所有类型都可以分配给unknown
58 0
|
Swift
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
343 0
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
|
Java
编写Java程序,通过给定可变参数方法,计算任意给定的多个int类型数据之和
编写Java程序,通过给定可变参数方法,计算任意给定的多个int类型数据之和
210 0
|
自然语言处理 搜索推荐 索引
组合数据类型
组合数据类型
159 0
组合数据类型
|
Java
【Groovy】集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )
【Groovy】集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )
145 0
【Groovy】集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )
|
开发者
枚举(枚举中定义其它结构)|学习笔记
快速学习 枚举(枚举中定义其它结构)
|
开发框架 .NET C#
c# 枚举之间的转换
c# 枚举之间的转换
138 0