日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

Enum in C#

發布時間:2023/12/15 C# 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Enum in C# 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C#中的枚舉類型

枚舉類型提供了一種有效的方式來定義可能分配給變量的一組已命名整數常量。
例如,假設你需要定義一個變量,其值表示交通指示燈。 若要定義這些值,可以使用枚舉類型,該類型是使用 enum 關鍵字聲明的。
enum EnumLight { Red, Yellow, Green }

  • 每個枚舉類型都有一個基礎類型,該基礎類型可以是除 char 外的任何整型類型。 枚舉元素的默認基礎類型是 int。 枚舉的已批準類型有 byte、sbyte、short、ushort、int、uint、long 或 ulong。若要聲明另一整型類型的枚舉(如 byte),則請在后跟該類型的標識符后使用冒號.
    enum EnumLight : byte { Red, Yellow, Green }

  • 在此枚舉中,默認元素的序列從 1 開始,而不是 0。 但建議包括一個值為 0 的常量。用于指示一個初始的無效的枚舉值。
    如:
    enum EnumLight : byte {None=0, Red, Yellow, Green }

  • 枚舉類型的基本數據類型,表示其內存中的存儲方式。但將 enum 類型轉換為整型,則必須使用顯示轉換。 例如,以下語句通過使用轉換將 enum 轉換為 int,從而將枚舉器 Sun 賦值為 int 類型的變量。
    int n = (int)EnumLight.Red;

  • 可以將任意整數值分配給int類型的變量, 例如,代碼行 EnumLight light = (EnumLight) 10不會產生錯誤。
    但后面的代碼使用該值可能導致錯誤。

  • 作為位標志的枚舉類型

    在C#中可以使用枚舉類型來定義位標志,這使枚舉類型的實例能夠存儲枚舉器列表中定義的值的任何組合。

    創建位標志枚舉的方法是,應用System.FlagsAttribute屬性并適當定義一些值,以便可以對這些值執行 AND、OR、NOT 和 XOR 按位運算。 在位標志枚舉中,包括一個值為零(表示“未設置任何標志”)的命名常量。 如果零值不表示“未設置任何標志”,請勿為標志指定零值。

    MS的示例:

    [Flags] enum Days {None = 0x00,Sunday = 0x01,Monday = 0x02,Tuesday = 0x04,Wednesday = 0x08,Thursday = 0x10,Friday = 0x20,Saturday = 0x40 } class TestClass {Days meetingDays = Days.Tuesday | Days.Thursday; }

    使用 System.Enum 方法來發現和操作枚舉值

    所有枚舉都是System.Enum類型的實例。 不能從System.Enum中派生新類,但可以使用它的方法來發現有關枚舉實例中操作值的信息。

    string s = Enum.GetName(typeof(Days), 4); Console.WriteLine(s);Console.WriteLine("The values of the Days Enum are:"); foreach (int i in Enum.GetValues(typeof(Days)))Console.WriteLine(i);Console.WriteLine("The names of the Days Enum are:"); foreach (string str in Enum.GetNames(typeof(Days)))Console.WriteLine(str);

    總結

    以上是生活随笔為你收集整理的Enum in C#的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。