CSharp编程小技巧-使用枚举 Enum.HasFlag 方法


C# 全选
[Flags]
public enum DaysofTheWeek
{
	None = 0,
	Monday = 1 << 0,
	Tuesday = 1 << 1,
	Wednesday = 1 << 2,
	Thursday = 1 << 3,
	Friday = 1 << 4,
	Saturday = 1 << 5,
	Sunday = 1 << 6,
}

现在,我们想要判断一个  DaysofTheweek 枚举是否包含Monday:

C# 全选
DaysOfTheweek days = DaysofTheweek .Monday DaysOfTheWeek .Wednesday;
if (days .HasFlag(DaysofTheWeek .Monday))
{
    Console.writeLine("days 包含 Monday");
}
else
{
    Console.WriteLine("days 不包含 Monday");
}

 

在上述代码中,我们定义了一个名为  days 的  DaysofTheweek 枚举,其中包含了周一、周三和周五的标志位。然后,我们使用  HasFlag 方法来检查  days 是否包含周一的标志位。根据结果输出不同的消息到控制台。

如果你需要判断多个可能包含的枚举值,可以在  if 语句中使用运算符

C# 全选
if (days .HasFlag(DaysofTheWeek.Monday DaysofTheWeek .Tuesday))
{
     // 如 days 包含 Monday 或 Tuesday,则执行此处逻辑   
}

注意,只有当枚举类型使用FlagsAttribute 特性进行标记时才能使用位运算

 

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:15个千万别错过的 Ai 工具,一个比一个离谱,提升效率100%。Ai写文章写论文+Ai生成视频+Ai画画+Ai找电影
下一篇:BCP-47 语言代码列表
评论列表

发表评论

评论内容
昵称:
关联文章

CSharp编程技巧-使用 Enum.HasFlag 方法
C# Enum操作
【UWP】开发技巧――判断类是否存在
win11使用技巧之便捷调出你的任务管理器
win11使用技巧之任务栏靠左侧对齐
.NET Core 实现动态代理做AOP(面向切面编程)
TinyMCE 代码高亮 Prism.js 对 C# language-csharp 没做处理
什么是好的编程字体:等宽字体
DevExpress Winform统一设置字体大
C# Socket网络编程 系列课程
AI聊天机器人总结,图灵、思知、爱、
必须使用适当的属性或方法修改referer标头
.NET 通用多条件动态参数查询方法 - SqlSugar ORM
C#使用Thrift作为RPC框架入门(一)
JOC.Framework 程序uni-app添加全局水印
C# 编写一个而快的 Windows 动态桌面
浏览器限制最字体为12号的解决办法
(原创)WinForm中莫名其妙的BUG——RichTextBox自动选择字词问题
C# Winform 自定义异常处理方法
JS合并两个数组的3种方法详解

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码