我有一些代码是由办公室的另一位开发人员编写的,目前还没有.我在他的代码上有一些工作要做,但我以前没有昏迷.我尝试在这里搜索,但它剥离了我的| 离开搜索行.我也不知道该符号的名称是什么,所以无法像那样搜索它.
this.Action.Values[key] = (int)this.Action.Values[key] | 1;
Run Code Online (Sandbox Code Playgroud)
我的问题是在这种情况下单身或做什么?
Bar(或管道)|是一个按位OR运算符,最简单的解释方法是它允许我们组合标志.考虑:
[Flags]
public enum WindowFlags
{
None = 0,
Movable = 1,
HasCloseBox = 2,
HasMinimizeBox = 4,
HasMaximizeBox = 8
}
Run Code Online (Sandbox Code Playgroud)
使用按位OR运算符,我们可以组合标志,因此:
WindowFlags flags = WindowFlags .Movable | WindowFlags .HasCloseBox | WindowFlags .HasMinimizeBox;
Run Code Online (Sandbox Code Playgroud)
我们可以"测试"给定的标志,使用:
bool isMovable = (flags & WindowFlags .Movable);
Run Code Online (Sandbox Code Playgroud)
删除标志对眼球来说有点紧张:
flags &= ~WindowFlags.HasCloseBox; // remove HasCloseBox flag
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1289 次 |
| 最近记录: |