其中是存儲在內存中的枚舉數據類型。當我聲明枚舉數據類型時,編譯器內部實際發生了什么。這是示例程序using System;public class Program{ public static void Main() { WeekDays wd = new WeekDays(); Console.WriteLine(wd.Friday); Console.WriteLine((int)wd.Friday); }}public enum WeekDays{ Monday = 0, Tuesday = 1, Wednesday = 2, Thursday = 3, Friday = 4, Saturday = 5, Sunday = 6}我們可以使用為 Enum 創建的實例嗎?編譯器不允許我訪問它拋出此錯誤的類的變量“靜態成員 `WeekDays.Friday' 不能通過實例引用訪問,而是用類型名稱限定它”
2 回答

慕田峪9158850
TA貢獻1794條經驗 獲得超8個贊
枚舉具有編譯時常量的內存配置文件。默認情況下為整數常量,但也可以使用其他整數類型??赡苓€有一些額外的東西需要反思,但我不確定這在大局中是否足夠。
采用 Enumeration 值的變量相應地具有基礎類型的內存配置文件。將枚舉轉換為整數通常也可以隱式完成,但反之則不行。

元芳怎么了
TA貢獻1798條經驗 獲得超7個贊
枚舉未在內存中分配 - 它們僅存在于編譯階段。在您的示例中,它們只存在告訴編譯器星期二的值是什么。當代碼運行時 - 那里不再有枚舉。
它和下面做同樣的事情
#define Monday 0;
#define Tuesday 1;
.
.
.
.
#define Sunday 6;
但是我們更喜歡枚舉而不是定義,因為使用枚舉比使用#defines 更容易支持和閱讀代碼。
- 2 回答
- 0 關注
- 108 瀏覽
添加回答
舉報
0/150
提交
取消