溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#枚舉中如何使用Flags特性

發(fā)布時(shí)間:2022-03-18 11:23:45 來(lái)源:億速云 閱讀:173 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了C#枚舉中如何使用Flags特性,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

如果對(duì)一個(gè)值可以包含多個(gè),那么可以使用枚舉,加上Flags。

新建一個(gè)Flags枚舉類型:

[Flags]
    public enum Show
    {
        A = 0x00000001,
        B = 0x00000010,
        C = 0x00000100,
        D = 0x00001000,
    }

合并多個(gè)值

合并多個(gè),使用|

Show show = Show.A | Show.B

判斷是否存在某個(gè)值

一個(gè)簡(jiǎn)單方法是用 HasFlag,但是一個(gè)方法是用&

 Show show=Show.A | Show.B;
  show.HasFlag(Show.A);
  //其他
  bool 包含 = (show & Show.A)!=0;

去掉一個(gè)值

Show show=Show.A | Show.B;
  show=show & (~Show.A);

取反一個(gè)值

 Show show = Show.A | Show.B;
  bool 包含 = (show & Show.A)!=0;
  if(包含)
  {
     show=show & (~Show.A);
  }
  else
  {
     show=show | Show.A;
  }

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“C#枚舉中如何使用Flags特性”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI