为了账号安全,请及时绑定邮箱和手机立即绑定

枚举上最常见的C#按位操作

枚举上最常见的C#按位操作

白衣非少年 2019-07-29 10:05:13
枚举上最常见的C#按位操作对于我的生活,我不记得如何设置,删除,切换或测试位域中的位。要么我不确定,要么混淆它们,因为我很少需要这些。因此,“比特作弊表”会很好。例如:flags = flags | FlagsEnum.Bit4;  // Set bit 4.要么if ((flags & FlagsEnum.Bit4)) == FlagsEnum.Bit4) // Is there a less verbose way?您能举例说明所有其他常见操作,最好是使用[Flags]枚举的C#语法吗?
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

在.NET 4中,您现在可以编写:

flags.HasFlag(FlagsEnum.Bit4)


查看完整回答
反对 回复 2019-07-29
?
largeQ

TA贡献2039条经验 获得超7个赞

习惯用法是使用按位或等于运算符来设置位:

flags |= 0x04;

要清除一点,成语是按位使用和否定:

flags &= ~0x04;

有时你有一个标识你的位的偏移量,然后成语是使用这些与左移相结合:

flags |= 1 << offset;flags &= ~(1 << offset);


查看完整回答
反对 回复 2019-07-29
  • 3 回答
  • 0 关注
  • 1079 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信