我正在查看我目前在我的项目中的代码,发现了这样的东西:
public enum MyEnum
{
open = 1 << 00,
close = 1 << 01,
Maybe = 1 << 02,
........
}
<<
操作数是移位操作数,它将第一个操作数向左移动第二个操作数中指定的位数。
但为什么有人会在 enum
中使用它?声明?
最佳答案
这允许你做这样的事情:
var myEnumValue = MyEnum.open | MyEnum.close;
无需计算 2 的倍数的位值。
(像这样):
public enum MyEnum
{
open = 1,
close = 2,
Maybe = 4,
........
}
关于c# - 为什么有人会在枚举声明中使用 << 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17888141/