什么是枚举标志

提问

回答

C#中的标志枚举
标志枚举在声明枚举前加[flag]
枚举值一般用2的N次方(1 2 4 8......) 不能(1 2 3)因为标志每组可以自由组合 1+2=3 就冲突了
下面将其十进制转化成为二进制说明就可以明白点

[Flags]//表示标志枚举 ,标志枚举的特性,加上这特性 枚举类型.tostring(),返回的就是文字了,不是数字
    public enum GoodPeople
    {
        //标志枚举是需要设置固定的值的,要是不设置值得话,两个项的或运算就会混乱
        //值必须是2的次方
        //普通枚举是互斥的,但对于标志枚举是可以组合的,
        高 = 1,
        富 = 2,
        帅 = 4,
        白 = 8,
        美 = 16
    }

参考

https://www.cnblogs.com/thatday/p/3485112.html#:~:text=标志枚举在声明枚举前加 [flag] 枚举值一般用2的N次方(1 2 4,8......) 不能(1 2 3)因为标志每组可以自由组合 1%2B2%3D3 就冲突了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章