从 C# 4.0 in a nutshell 浏览代码示例
我遇到了一些涉及枚举的有趣运算符
[Flags]
public enum BorderSides { Left=1, Right=2, Top=4, Bottom=8 }
...
BorderSides leftRight = BorderSides.Left | BorderSides.Right;
...
BorderSides s = BorderSides.Left;
s |= BorderSides.Right;
...
s ^= BorderSides.Right;
这在其他地方记录在哪里?
更新
找到与此相关的 forum post
最佳答案
|=
是按位或赋值。
这个说法:
BorderSides s = BorderSides.Left;
s |= BorderSides.Right;
是相同的
BorderSides s = BorderSides.Left;
s = s | BorderSides.Right;
这通常在枚举中用作标志,以便能够在单个值中存储多个值,例如 32 位整数(C# 中
enum
的默认大小)。它类似于
+=
运算符,但不是做加法,而是按位或。关于c# - |= 运算符在 C# 中有什么作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4590895/