实例讲解如何正确的使用枚举的组合值

上一篇 / 下一篇  2007-12-12 17:48:00 / 个人分类:学习笔记

 

很多情况下,我们需要将枚举定义为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

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-06-11  
1234567
891011121314
15161718192021
22232425262728
2930     

数据统计

  • 访问量: 6479
  • 日志数: 129
  • 建立时间: 2006-11-04
  • 更新时间: 2008-05-03

RSS订阅

Open Toolbar