[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

更新於: 08-8-2020

538 次瀏覽

開啟你的 職業生涯

完成課程,獲得證書

開始
廣告