C 列舉中使用Flags特性

2021-07-27 23:37:43 字數 705 閱讀 4756

如果對乙個值可以包含多個,那麼可以使用列舉,加上flags

在寫前,需要知道一些基礎知識,取反、或、與,如果不知道的話,請去看看基礎。

當然,這些太複雜了,我也不會在這裡解釋。

假如有型別

[flags]

public

enum show

合併多個,使用|

show

show=show.a | show.b

乙個簡單方法是用 hasflag,但是乙個方法是用&

show

show=show.a | show.b;

show.hasflag(show.a);

//其他

bool 包含=(show & show.a)!=0;

show

show=show.a | show.b;

show=show & (~show.a);

show

show=show.a | show.b;

bool 包含=(show & show.a)!=0;

if(包含)

else

參見:

C 列舉中使用Flags特性

這種用處很大,比如許可權 執行狀態等,都可以用乙個int型儲存到資料庫中,c 中使用列舉可以處理這個問題。flags public enum permission c 對該型別的操作如下 permission permission permission.create permission.read ...

2019 9 2 C 列舉中使用Flags特性

title author date createtime categories c 列舉中使用flags特性 lindexi 2019 09 02 12 57 37 0800 2018 2 13 17 23 3 0800 c 如果對乙個值可以包含多個,那麼可以使用列舉,加上flags 在寫前,需要知...

2019 9 2 C 列舉中使用Flags特性

title author date createtime categories c 列舉中使用flags特性 lindexi 2019 09 02 12 57 37 0800 2018 2 13 17 23 3 0800 c 如果對乙個值可以包含多個,那麼可以使用列舉,加上flags 在寫前,需要知...