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中文网其他相关文章!