在C#中[Flags]枚举属性是什么意思?
枚举标志用于获取枚举变量并允许其保存多个值。每当枚举表示标志集合而不是单个值时都应使用它
仅当要对数字值执行按位运算(AND,OR,EXCLUSIVEOR)时,才将FlagsAttribute用于枚举。
以2的幂定义枚举常数,即1、2、4、8等。这意味着组合枚举常量中的各个标志不会重叠。
示例
class Program {
[Flags]
enum SocialMediaFlags { None = 0, Facebook = 1, Twitter = 2, LinkedIn = 4, Instagram = 8, Snapchat = 16, Pinterest = 32, Reddit = 64 }
static void Main() {
var SocialMedia1 = SocialMediaFlags.Facebook | SocialMediaFlags.Twitter |
SocialMediaFlags.Instagram;
var SocialMedia2 = SocialMediaFlags.LinkedIn;
var SocialMedia3 = SocialMediaFlags.Pinterest | SocialMediaFlags.Reddit;
SocialMediaFlags[] SocialMediasFlags = { SocialMedia1, SocialMedia2, SocialMedia3 };
for (int ctr = 0; ctr < SocialMediasFlags.Length; ctr++)
if ((SocialMediasFlags[ctr] & SocialMediaFlags.Facebook) == SocialMediaFlags.Facebook) {
Console.WriteLine("SocialMedia {0} has Facebook service: {1}", ctr + 1, "Yes");
}
Console.WriteLine();
}
}输出结果
SocialMedia 1 has Facebook service: Yes
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短