详解C#枚举中使用Flags特性
作者:暴躁老砚 时间:2023-05-19 04:44:31
如果对一个值可以包含多个,那么可以使用枚举,加上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
标签:C#,枚举,Flags
0
投稿
猜你喜欢
spring cloud zuul增加header传输的操作
2022-12-31 17:24:50
Java中StringBuilder与StringBuffer使用及源码解读
2022-05-16 09:11:18
java8中的默认垃圾回收器(GC)
2021-12-01 04:27:30
RocketMQ实现随缘分BUG小功能示例详解
2023-01-20 04:21:05
java多线程创建及线程安全详解
2022-12-02 18:58:51
C# protobuf自动更新cs文件
2021-10-08 10:16:28
解读Spring定义Bean的两种方式:<bean>和@Bean
2023-01-25 23:37:51
c# 防火墙添加/删除 特定端口的示例
2023-12-22 21:56:41
Java8中forEach语句循环一个List和Map
2021-06-02 07:03:54
Spring Cloud 整合 nacos实现动态配置中心的详细步骤
2023-01-19 18:15:00
Java并发编程示例(八):处理线程的非受检异常
2022-03-23 14:15:57
springmvc前台向后台传值几种方式总结(从简单到复杂)
2023-04-13 22:20:50
Android入门之实现自定义Adapter
2021-09-30 17:34:10
Java实现浪漫流星表白的示例代码
2023-04-02 14:50:35
Java并发之串行线程池实例解析
2023-01-07 18:35:54
Spring @Bean注解的使用场景与案例实现
2023-11-20 04:44:22
C#获取全部目录和文件的简单实例
2021-09-01 02:51:00
android安装后启动出错解决
2021-10-31 12:13:26
基于JAVA中Jersey处理Http协议中的Multipart的详解
2021-06-15 13:43:57
Android仿淘宝物流追踪的实例代码
2021-08-19 22:57:23