[Flags] 枚举属性在 C# 中表示什么?
Enum Flags 用于采用枚举变量并允许其容纳多个值。当枚举表示一组标志,而不是一个单一值时,应该使用它
仅当要对数字值执行按位运算(AND、OR、XOR)时,才能对枚举使用 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 程序设计
C++
C#
MongoDB
MySQL
Javascript
PHP