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

歡迎訪問 生活随笔!

生活随笔

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

C#

enum 使用规范及技巧(C# 参考)

發布時間:2024/4/13 C# 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 enum 使用规范及技巧(C# 参考) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ENUM關鍵字

  • enum 關鍵字用于聲明枚舉,一種包含一組被稱為枚舉數列表的已命名常數的不同類型。
  • 通常最好是直接在命名空間內定義枚舉,以便命名空間中的所有類都可以同樣方便地訪問它。 但是,也可能會在類或結構中嵌套枚舉。
  • 默認情況下,第一個枚舉數具有值 0,并且每個連續枚舉數的值將增加 1。 例如,在以下枚舉中, Sat 的值為 0, Sun 的值為 1, Mon 的值為 2,依次類推。
enum Day {Sat, Sun, Mon, Tue, Wed, Thu, Fri};// Sat 的值為 0, Sun 的值為 1, Mon 的值為 2,依次類推。 enum Day {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};//在此枚舉中,強制元素的序列從 1 開始,而不是 0。 但建議包括一個值為 0 的常量。
  • 每個枚舉類型都有一個基礎類型,該基礎類型可以是除 char 外的任何整型類型。 枚舉元素的默認基礎類型是 int。若要聲明另一整型的枚舉(如 byte),則請在后跟該類型的標識符后使用冒號,如以下示例所示。
enum Day : byte {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
  • 已批準的枚舉類型有 bytesbyteshortushortintuint, long ulong
  • 枚舉類型的變量可在基本類型范圍內分配到任何值;這些值不限于已命名常數。
  • enum E 的默認值是由表達式 (E)0生成的值。
  • 備注:枚舉數名稱中不能含有空格。

  • 基礎類型指定為每個枚舉數分配多少存儲空間。 但要將 enum 類型轉換為整型,則必須使用顯示轉換。 例如,以下語句通過使用轉換將 Sun 轉換為 ,從而將枚舉數 賦值為 enum int int類型的變量。

int x = (int)Day.Sun;

可靠編程

  • 正如任何常量一樣,對枚舉的各項值的所有引用在編譯時都會轉換為數字參數。 這可能會造成如常量中所述的潛在版本問題。
  • 將其他值分配到枚舉的新版本,或者在新版本中更改枚舉成員的值,會導致出現相關源代碼問題。 通常在 switch 語句中使用枚舉值。 如果已將其他元素添加到 enum 類型,則 switch 語句的默認部分可被意外地選中。
  • 如果其他開發人員使用你的代碼,則在將新元素添加到任何 enum 類型時應提供有關他們的代碼應該如何響應的準則。

示例

  • 在下面的示例中,已聲明枚舉 Day。 已將兩個枚舉數顯式轉換為整數,并賦值為整數變量。
public class EnumTest {enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat };static void Main(){int x = (int)Day.Sun;int y = (int)Day.Fri;Console.WriteLine("Sun = {0}", x);Console.WriteLine("Fri = {0}", y);} } /* Output:Sun = 0Fri = 5 */
  • 以下示例中,使用基類型選項來聲明其成員是 enum 類型的 long。 請注意,即使該枚舉的基礎類型是 long,仍然需通過使用轉換將枚舉成員顯式轉換為類型 long 。
public class EnumTest2 {enum Range : long { Max = 2147483648L, Min = 255L };static void Main(){long x = (long)Range.Max;long y = (long)Range.Min;Console.WriteLine("Max = {0}", x);Console.WriteLine("Min = {0}", y);} } /* Output:Max = 2147483648Min = 255 */
  • 下面的代碼示例說明了 System.FlagsAttribute 聲明中 enum 特性的使用和作用。
// Add the attribute Flags or FlagsAttribute. [Flags] public enum CarOptions {// The flag for SunRoof is 0001.SunRoof = 0x01,// The flag for Spoiler is 0010.Spoiler = 0x02,// The flag for FogLights is 0100.FogLights = 0x04,// The flag for TintedWindows is 1000.TintedWindows = 0x08, }class FlagTest {static void Main(){// The bitwise OR of 0001 and 0100 is 0101.CarOptions options = CarOptions.SunRoof | CarOptions.FogLights;// Because the Flags attribute is specified, Console.WriteLine displays// the name of each enum element that corresponds to a flag that has// the value 1 in variable options.Console.WriteLine(options);// The integer value of 0101 is 5.Console.WriteLine((int)options);} } /* Output:SunRoof, FogLights5 */

?----摘自:C# 語言規范

總結

以上是生活随笔為你收集整理的enum 使用规范及技巧(C# 参考)的全部內容,希望文章能夠幫你解決所遇到的問題。

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