我有一个这样的枚举声明:
public enum Filter
{
a = 0x0001;
b = 0x0002;
}
这意味着什么?他们正在使用它来过滤数组。
最佳答案
这只是意味着,如果执行Filter-> a,则得到1。Filter-> b为2。
奇怪的十六进制表示法就是这种表示法。
编辑:
由于这是一个“过滤器”,因此十六进制表示法更有意义。
通过写入0x1,您可以指定以下位模式:
0000 0001
而0x2为:
0000 0010
这样可以更清楚地了解如何使用过滤器。
因此,例如,如果要过滤掉设置了低2位的数据,则可以执行以下操作:
Filter->a | Filter->b
对应于:
0000 0011
十六进制表示法使过滤器的概念更清晰(对于某些人而言)。例如,通过查看0x83F0的二进制代码相对容易,但对于33776(基数10中的相同数字)而言,难度要大得多。