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

Olathe ·
更新时间:2024-09-20
· 1927 次阅读

如果对一个值可以包含多个,那么可以使用枚举,加上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]

到此这篇关于C#枚举中使用Flags特性的文章就介绍到这了,更多相关C#枚举Flags特性内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!



flags 枚举

需要 登录 后方可回复, 如果你还没有账号请 注册新账号