国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

C#枚舉類型概念及應用淺析

開發 后端
C#枚舉類型是什么呢?C#枚舉類型是怎么使用的呢?C#枚舉類型有什么需要注意的地方呢?那么本文就向你介紹這些內容。

C#枚舉類型(也稱為枚舉)為定義一組可以賦給變量的命名整數常量提供了一種有效的方法。例如,假設您必須定義一個變量,該變量的值表示一周中的一天。該變量只能存儲七個有意義的值。若要定義這些值,可以使用枚舉類型。枚舉類型是使用 enum 關鍵字聲明的。

  1. enum Days { Sunday, Monday, Tuesday,   
  2. Wednesday, Thursday, Friday, Saturday };  
  3. enum Months : byte { Jan, Feb, Mar, Apr,  
  4.  May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };  

默認情況下,枚舉中每個元素的基礎類型是 int。可以使用冒號指定另一種整數值類型,如前面的示例所示。以下是使用枚舉而不使用數值類型的好處:

明確為客戶端代碼指定哪些值是變量的有效值。

在 Visual Studio 中,IntelliSense 列出定義的值。

如果不為枚舉數列表中的元素指定值,則它們的值將以 1 為增量自動遞增。在前面的示例中,Days.Sunday 的值為 0,Days.Monday 的值為 1,依此類推。創建新的 Days 對象時,如果不顯式為其賦值,則它將具有默認值 Days.Sunday (0)。創建枚舉時,應選擇最合理的默認值并賦給它一個零值。這便使得只要在創建枚舉時未為其顯式賦值,則所創建的全部枚舉都將具有該默認值。

如果變量 meetingDay 的類型為 Days,則只能將 Days 定義的某個值賦給它(無需顯式強制轉換)。如果會議日期更改,可以將 Days 中的新值賦給 meetingDay:

  1. Days meetingDay = Days.Monday;  
  2. //...  
  3. meetingDay = Days.Friday; 

C#枚舉類型說明:
 
可以將任意整數值賦給 meetingDay。例如,代碼行 meetingDay = (Days) 42 不會產生錯誤。但也不應該這樣做,因為默認約定的是枚舉變量只容納枚舉定義的值之一。將任意值賦給枚舉類型的變量很有可能會導致錯誤。

可以將任意值賦給枚舉類型的枚舉數列表中的元素,也可以使用計算值:

  1. enum MachineState  
  2. {  
  3. PowerOff = 0,  
  4. Running = 5,  
  5. Sleeping = 10,  
  6. Hibernating = Sleeping + 5  

C#枚舉類型作為位標志

可以使用C#枚舉類型定義位標志,從而使該C#枚舉類型的實例可以存儲枚舉數列表中定義的值的任意組合。(當然,某些組合在您的程序代碼中可能沒有意義或不允許使用。)

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

在下面的示例中,定義了 Days 枚舉的另一個版本,即 Days2。Days2 具有 Flags 屬性,且它的每個值都是 2 的若干次冪,指數依次遞增。這樣您就可以創建值為 Days2.Tuesday 和 Days2.Thursday 的 Days2 變量。

  1. [Flags]  
  2. enum Days2  
  3. {  
  4. None = 0x0,  
  5. Sunday = 0x1,  
  6. Monday = 0x2,  
  7. Tuesday = 0x4,  
  8. Wednesday = 0x8,  
  9. Thursday = 0x10,  
  10. Friday = 0x20,  
  11. Saturday = 0x40  
  12. }  
  13. class MyClass  
  14. {  
  15. Days2 meetingDays = Days2.Tuesday | Days2.Thursday;  

C#枚舉類型的問題:若要在某個枚舉上設置標志,請使用邏輯 OR 運算符,如下面的示例所示:

  1. // Initialize with two flags using bitwise OR.  
  2. meetingDays = Days2.Tuesday | Days2.Thursday;  
  3. // Set an additional flag using bitwise OR.  
  4. meetingDays = meetingDays | Days2.Friday;  
  5. Console.WriteLine("Meeting days are {0}", meetingDays);  
  6. // Output: Meeting days are Tuesday, Thursday, Friday  
  7. // Remove a flag using bitwise XOR.  
  8. meetingDays = meetingDays ^ Days2.Tuesday;  
  9. Console.WriteLine("Meeting days are {0}", meetingDays);  
  10. // Output: Meeting days are Thursday, Friday 

若要確定是否設置了特定標志,請使用邏輯 AND 運算,如下面的示例所示:

  1. // Test value of flags using bitwise AND.  
  2. bool test = (meetingDays & Days2.Thursday) == Days2.Thursday;  
  3. Console.WriteLine("Thursday {0} a meeting day.",  
  4.  test == true ? "is" : "is not");  
  5. // Output: Thursday is a meeting day. 

有關使用System..::.FlagsAttribute 屬性定義枚舉類型時需要考慮的事項的更多信息,請參見System..::.Enum。

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

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

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

C#枚舉類型概念及應用的基本內容就向你介紹到這里,希望對你了解和學習C#枚舉類型概念及應用有所幫助。

【編輯推薦】

  1. C# 枚舉實例應用淺析
  2. C# 枚舉常用方法淺析
  3. C# 枚舉和常量應用區別淺析
  4. 學習C# 枚舉的那點東西
  5. C#枚舉類型的使用淺析
責任編輯:仲衡 來源: 博客園
相關推薦

2009-08-20 18:47:19

C#異步通信

2009-08-18 10:35:46

C#枚舉類型

2009-08-24 17:39:21

C# 泛型集合

2009-09-09 16:46:59

C# XmlSeria

2009-08-18 12:52:33

C#枚舉類型

2009-08-24 15:28:19

C# 泛型方法

2009-08-17 17:49:20

C# 枚舉

2009-08-18 13:00:59

C#枚舉類型

2009-08-18 09:37:14

C#枚舉類型

2009-09-01 16:10:28

C#單元測試

2009-08-18 10:30:30

C#枚舉

2009-08-18 10:41:38

C#枚舉類型

2009-08-17 18:04:49

C# 枚舉

2009-08-27 10:20:03

C# foreach語

2009-08-12 10:37:13

C#運算符重載

2009-08-28 16:48:50

C#多態性

2009-09-04 16:37:37

C# DES算法

2009-08-17 17:56:32

C# 枚舉

2009-07-31 09:32:04

ASP.NET緩存概念ASP.NET緩存應用

2009-09-14 13:44:14

Lambda ExprC# Lambda
點贊
收藏

51CTO技術棧公眾號

国产精品一二| 日韩视频在线免费播放| 在线观看免费毛片| 国产一区二区中文字幕| 7777精品久久久大香线蕉小说| 视频一区在线观看| 国产欧美精品一区二区| 国产精品亚洲欧美日韩一区在线| 日韩欧美国产激情| 亚洲激情图片| 欧美男gay| 亚洲欧美国产高清va在线播| 黄色av资源| 国自产拍偷拍福利精品免费一| 欧美一区二区私人影院日本| 久久久久99精品成人片| 国内成人自拍| 亚洲美女视频在线观看| 国产在线不卡精品| 超碰在线cao| 欧美精品电影在线播放| 欧美一区二区三区……| 婷婷五月色综合| 精品国产精品国产偷麻豆| 91在线国产电影| 日韩精品一级中文字幕精品视频免费观看 | 91精品国产99久久久久久红楼 | 欧美午夜精品理论片a级按摩| 精品偷拍各种wc美女嘘嘘| 欧美在线激情| 91网页版在线登录入口| 秋霞电影网一区二区| 国产精品电影在线观看| 2021中文字幕在线| 欧美国产97人人爽人人喊| 国产成人免费高清视频| 一本色道久久综合| 在线视频中文亚洲| 有码在线播放| 亚洲品质自拍视频| 永久av在线| 蜜桃视频第一区免费观看| 久久99国产精品自在自在app| 视频一区二区三区国产| 国产高清视频一区| 国产成人精品av在线| 精品国产乱码久久久久久天美| 亚洲天堂av在线免费观看| 亚洲二区中文字幕| 少妇高潮 亚洲精品| 亚洲激情在线| 午夜网站在线观看| 欧美视频日韩视频| 美女呻吟一区| 日韩在线综合网| 亚洲伦理中文字幕| 国产高清一区二区| 黄色三级视频片| 亚洲福利精品在线| 一区三区视频| 91人人网站| 色婷婷综合激情| 日本在线视频www鲁啊鲁| 日韩一级欧美一级| 亚洲热av色在线播放| 日韩中文字幕在线看| 国产精品字幕| 欧美高清在线播放| 欧美激情综合| 视频一区亚洲| 轻轻草成人在线| 亚洲一区二区三区涩| 免费在线观看一区二区三区| 激情小视频在线| 亚洲а∨天堂久久精品9966| 成人亚洲视频在线观看| 欧美日韩午夜剧场| 欧美人与牛zoz0性行为| 免费看的毛片| 久久99精品视频一区97| 本田岬高潮一区二区三区| 日韩高清中文字幕一区二区| 激情小视频网站| 亚洲欧美精品中文字幕在线| 麻豆国产精品视频| 黄色aa久久| 久久国产一区| 一区精品在线播放| 午夜影院在线播放| 久久天天躁夜夜躁狠狠躁2022| 91tv官网精品成人亚洲| 精品少妇在线视频| 在线视频你懂得一区二区三区| 成人免费网址| 久久视频这里只有精品| 中文久久精品| 欧美日韩第二页| 欧美videossexotv100| 日韩一区日韩二区| 中国av在线播放| 欧美电影一区二区| 亚洲欧美亚洲| 国产成+人+综合+亚洲欧美| 国产一级不卡视频| 久久精品国产免费观看| 亚洲欧美日韩综合aⅴ视频| 日韩欧美综合| 久草在线资源站资源站| 激情综合色综合啪啪开心| 91麻豆免费在线视频| 欧美与欧洲交xxxx免费观看| 日韩av专区| 国产曰肥老太婆无遮挡| www国产精品视频| 亚洲精品ady| 高清国产一区二区| 精品久久91| 国产女人在线视频| 日韩暖暖在线视频| 亚洲精品中文字| 国产不卡免费视频| 欧美经典影片视频网站| 99福利在线| 全网国产福利在线播放| 99热热99| 青草青青在线视频| 国产成人亚洲综合青青| 欧美国产激情一区二区三区蜜月| 伊人久久影院| 亚洲黄色网址| 99re久久| 成年人视频网站| 亚洲伊人一本大道中文字幕| 中文字幕亚洲激情| 欧美影院一区二区| 欧美日韩在线视频一区| 一区二区三区四区五区在线| 99热播精品免费| av高清一区| 九九久久电影| 大桥未久在线视频| 午夜激情电影在线播放| 日韩av中字| 黄污网站在线观看| 久久久久久久久久久视频| 亚洲精品一区二区毛豆| 国产精品国模大尺度私拍| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 欧美视频精品| 国产极品美女高潮无套久久久| 一区二区三区一级片| 999日本视频| 91精品久久久久久久久久| 亚洲男人7777| 欧美色图在线观看| 欧美日韩精品专区| 欧美在线观看视频一区二区| 欧美高清videos高潮hd| 91精品国产色综合| 久久视频免费观看| 91人成网站www| 日韩欧美视频一区二区| 97伦理在线四区| 国产精品永久免费观看| 91久久久久久| 91久久久久久久| 欧美精品在线一区二区| 国产麻豆9l精品三级站| 国产一区二区观看| 婷婷亚洲综合| 另类在线视频| 国产午夜久久av| 亚洲精品伊人| 亚洲小少妇裸体bbw| 超碰在线国产| 成人在线免费公开观看视频| 妞干网2018| 黄色av免费在线播放| 欧美一级黄色录像片| 免费av一区二区三区| 中文字幕欧美日韩一区二区三区| 色综合天天综合网国产成人网| 一本色道久久88综合亚洲精品ⅰ| 在线观看免费成人| 91亚洲精品乱码久久久久久蜜桃| 一区二区亚洲视频| 天堂а√在线8种子蜜桃视频| 久久久久久久久久码影片| 26uuu亚洲国产精品| 久久亚洲国产精品| 九九九九九精品| 在线视频婷婷| 99精品视频在线| 宅男视频免费在线观看视频| 亚洲自拍偷拍第一页| 欧美在线看片a免费观看| 亚洲一区成人| 69堂精品视频在线播放| 欧美国产一二三区| av 日韩 人妻 黑人 综合 无码|