以 C# 中的 System.Drawing.FontStyle 为例。
如果需要同时有多种效果,
如:“粗体”和“下划线”的效果,可以用按位或(|)
FontStyle style = FontStyle.Bold | FontStyle.Underline;
如果需要去除 style 里的某一种效果,
如:去除“下划线”的效果,可以用按位取反(~)和按位与(&)
style = style & ~FontStyle.Underline;
原理:
public enum FontStyle
{
Regular = 0,
Bold = 1,
Italic = 2,
Underline = 4,
Strikeout = 8,
}
- FontStyle.Underline 的值用二进制表示为:100
- 按位取反后为:011
- 原枚举值与 011 按位与操作后,二进制表示的倒数第三位是 0,后两位还是原值。这样就把 FontStyle.Underline 这种效果从原枚举值中清除了。
61万+

被折叠的 条评论
为什么被折叠?



