C# 枚举设置Flags后的使用

带有Flags特性进行或运算需要让多个或运算后不能与现有Enum值重合

[Flags]
public enum DictionaryType
{
Unknow = 1,

Type = 2,

Purpose = 4,

Color = 8,

}

合并

var dic=DictionaryType.Type | DictionaryType.Color;

判断是否存在

dic.HasFlag(DictionaryType.Type);

或者

var isHava = (dic & DictionaryType.Type) != 0;

去掉一个值

dic = dic & (~DictionaryType.Type);

取反一个值

var isHava = (dic & DictionaryType.Type) != 0;

if(isHava)

{

  dic = dic & (~DictionaryType.Type);

}

else

{

  dic = dic | DictionaryType.Type;

}

posted @ 2024-06-26 08:50  獠牙  阅读(5)  评论(0编辑  收藏  举报