软件编程
位置:首页>> 软件编程>> C#编程>> 详解C#枚举中使用Flags特性

详解C#枚举中使用Flags特性

作者:暴躁老砚  发布时间:2023-05-19 04:44:31 

标签:C#,枚举,Flags

如果对一个值可以包含多个,那么可以使用枚举,加上Flags。

新建一个Flags枚举类型:

[Flags]
   public enum Show
   {
       A = 0x00000001,
       B = 0x00000010,
       C = 0x00000100,
       D = 0x00001000,
   }

合并多个值

合并多个,使用|

Show show = Show.A | Show.B

判断是否存在某个值

一个简单方法是用 HasFlag,但是一个方法是用&

Show show=Show.A | Show.B;
 show.HasFlag(Show.A);
 //其他
 bool 包含 = (show & Show.A)!=0;

去掉一个值

Show show=Show.A | Show.B;
 show=show & (~Show.A);

取反一个值

Show show = Show.A | Show.B;
 bool 包含 = (show & Show.A)!=0;
 if(包含)
 {
    show=show & (~Show.A);
 }
 else
 {
    show=show | Show.A;
 }

参考:

C# 位域[flags]

来源:https://www.cnblogs.com/Yan3399/p/16020660.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com