服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - 详解C#枚举中使用Flags特性

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

2023-02-21 16:14暴躁老砚 C#

这篇文章主要介绍了C#枚举中使用Flags特性的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

新建一个Flags枚举类型:

?
1
2
3
4
5
6
7
8
[Flags]
    public enum Show
    {
        A = 0x00000001,
        B = 0x00000010,
        C = 0x00000100,
        D = 0x00001000,
    }

合并多个值

合并多个,使用|

?
1
Show show = Show.A | Show.B

判断是否存在某个值

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

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

去掉一个值

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

取反一个值

?
1
2
3
4
5
6
7
8
9
10
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特性内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/Yan3399/p/16020660.html

延伸 · 阅读

精彩推荐
  • C#C#简单访问SQLite数据库的方法(安装,连接,查询等)

    C#简单访问SQLite数据库的方法(安装,连接,查询等)

    这篇文章主要介绍了C#简单访问SQLite数据库的方法,涉及SQLite数据库的下载、安装及使用C#连接、查询SQLIte数据库的相关技巧,需要的朋友可以参考下...

    郑文亮5112021-11-29
  • C#c# 使用OpenCV识别硬币

    c# 使用OpenCV识别硬币

    这篇文章主要介绍了c# 使用OpenCV识别硬币的方法,帮助大家更好的利用c#进行深度学习,感兴趣的朋友可以了解下...

    码农译站5352022-10-25
  • C#asp.net(C#)清除全部Session与单个Session的方法

    asp.net(C#)清除全部Session与单个Session的方法

    下面小编就为大家带来一篇asp.net(C#)清除全部Session与单个Session的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看...

    C#教程网10182021-12-14
  • C#C#使用SqlConnection连接到SQL Server的代码示例

    C#使用SqlConnection连接到SQL Server的代码示例

    这篇文章主要介绍了C#使用SqlConnection连接到SQL Server的代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...

    xuanyin2357882022-07-11
  • C#C#基于UDP实现的P2P语音聊天工具

    C#基于UDP实现的P2P语音聊天工具

    这篇文章主要是一个应用,使用udp传送语音和文本等信息。在这个系统中没有服务端和客户端,相互通讯都是直接相互联系的,能够很好的实现效果。...

    C#教程网9602021-10-27
  • C#C#并发容器之ConcurrentDictionary与普通Dictionary带锁性能详解

    C#并发容器之ConcurrentDictionary与普通Dictionary带锁性能详解

    这篇文章主要介绍了C#并发容器之ConcurrentDictionary与普通Dictionary带锁性能详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    conquerwave8122022-11-10
  • C#10个C#程序员经常用到的实用代码片段

    10个C#程序员经常用到的实用代码片段

    如果你是一个C#程序员,那么本文介绍的10个C#常用代码片段一定会给你带来帮助,从底层的资源操作,到上层的UI应用,这些代码也许能给你的开发节省不...

    C#教程网4472021-10-27
  • C#C#多线程系列之线程通知

    C#多线程系列之线程通知

    本文详细讲解了C#多线程中的线程通知,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...

    痴者工良4952022-12-29