如果對乙個值可以包含多個,那麼可以使用列舉,加上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 在寫前,需要知...