Chu*_*age 4 c# enums bit-manipulation
我有这个,
public enum Condition : uint // bitwise
{
None = 0,
NewLine = 1,
Space = 2
}
Rule.Condition someCondition = Rule.Condition.Space | Rule.Condition.NewLine;
Run Code Online (Sandbox Code Playgroud)
我想转换这个,
if ((Rule.Condition.Space & condition) == Rule.Condition.Space) return true;
if ((Rule.Condition.NewLine & condition) == Rule.Condition.NewLine) return true;
Run Code Online (Sandbox Code Playgroud)
进入类似的东西,
if((someCondition & condition) == someCondition) return true;
Run Code Online (Sandbox Code Playgroud)
但它没有用.我忘记了什么?
好吧,如果您只是想测试一下,那么请检查> 0.但是,如果你正在寻找一个不那么具体的解决方案,那么像这样的东西将两者合并并if完全删除:
return (int)(someCondition & (Condition.Space | Condition.NewLine)) > 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |