Enum是C#中的保留關鍵字,代表枚舉。枚舉是 C# 中的使用者定義類型,它保存一組命名常數。集合中的每個常數都有一個值(預設為整數)。可以透過名稱和值來存取常數。因此,枚舉中的名稱不能重複。枚舉的語法很簡單。它以關鍵字 enum 開頭,後面跟著變數名稱和一組用大括號括起來的命名常數。當然,它以分號結尾。
文法:
enum <enum_name> {<set_of_named_constants>};
範例:
代碼:
enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; enum Month { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };
枚舉在 C# 中有一個底層型別。這意味著枚舉中的每個常數都將分配一個基礎類型的值。 C# 中枚舉的預設基礎型別是整數。
在上面的列舉 Day 中,我們聲明了七個常數。它有一個預設的整數基礎類型。因此,每個常數都會分配一個整數值。預設情況下,該值從 0 開始。因此,Sun 將被分配為 0;週一將分配 1 個,週二將分配 2 個,依此類推。
讓我們再舉一個例子。我們將值 1 分配給 Sun。這將強制編譯器從 1 而不是 0 開始賦值。然後,我們將值 8 賦給 Thu。然後編譯器會從 8 開始繼續賦值。
代碼:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat }; public static void Main() { for (int i = 0; i < 10; i++) { Console.WriteLine((Day)i); } } }
輸出:
現實世界的例子可以是客戶旅程中的各個階段。當然,所有常數都可以單獨聲明並為其分配相應的整數值,但是使用枚舉可以消除記住每個階段的整數值的麻煩,並使程式碼更容易理解。
代碼:
using System; public class Program { enum ClientJourney { Introduced = 1, UnderReview = 2, Reviewed = 3, Documentation = 4, Onboarded = 5, Declined = 6, Deboarded = 7 }; public static void Main() { Console.WriteLine("The various stages in the journey of a client are:\n"); foreach (string str in Enum.GetNames(typeof(ClientJourney))) { Console.WriteLine(str); } } }
輸出:
下面給出了 C# 中的枚舉方法:
GetName 方法傳回對應到枚舉中指定值的命名常數。如果該值沒有命名常數,則傳回一個空字串。
此方法需要兩個參數 - 一個是類型,即枚舉本身,另一個是指定的值。
在上面的 Days 範例中,我們將透過 GetName 方法列印命名常數。
代碼:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat } ; public static void Main() { for (int i = 0; i < 10; i++) { Console.WriteLine(Enum.GetName(typeof(Day), i)); } } }
輸出:
在上面的範例中,我們必須使用 for 迴圈來檢索所有枚舉的命名常數。當我們需要單一或有限數量的命名常數時,GetName 方法更有用。
我們還有另一個方法 GetNames() 來取得所有命名常數。它以枚舉作為輸入參數。
在上面的 Days 範例中,我們將透過 GetNames 方法列印命名常數。
代碼:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat } ; public static void Main() { foreach(string namedConstant in Enum.GetNames(typeof(Day))){ Console.WriteLine(namedConstant); } } }
輸出:
GetValues() 方法用於取得每個枚舉的命名常數的底層映射值。
在上面的 Days 範例中,我們將透過 GetNames 方法列印命名常數。
代碼:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat } ; public static void Main() { foreach (int i in Enum.GetValues(typeof(Day))) { Console.WriteLine(i); } } }
輸出:
下面給出了 C# 中枚舉的規則:
以下是提到的優點:
至此,我們就看到了C#中enum的使用。我們已經了解了它的工作原理以及它的實際用途。我們了解使用枚舉時要遵守的規則。有些方法可以幫助我們存取和格式化枚舉。建議在程式碼中盡可能使用枚舉。這將幫助您觀察編碼良好實踐並學習枚舉。
以上是C# 中的列舉的詳細內容。更多資訊請關注PHP中文網其他相關文章!