C# Enum 或 Enumerator

C# Enum 是一种用户定义的数据类型,它包含一个名为“枚举器列表”的命名常量值列表。Enum 或 enumerator 是一个值类型。建议直接在命名空间下定义 Enum。它也可以嵌套在类或结构体中。

C# enum 或 enumerator 的语法如下所示。

[<Access Modifiers>] enum <Name> [: <type>]
{
      --list of named constant values--
}

例如

public enum Technologies
{
   C, SQL, Dot Net, Java
}

在这里,访问修饰符是 public,并且将创建一个名为 Technologies 的 Enum。

类型可以是任何整数类型(int, short, long, uint, ulong, byte, ushort, sbyte),但默认是 int。

让我们来操作上面创建的 C# Enum 枚举器。

using System;

namespace CSharp_Tutorial
{
    public enum Technologies
    {
        C, SQL, DotNet, Java //by default the sequence is C=0, SQL=1, DotNet=2....
    }
    class Program
    {
        static void Main()
        {
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Technologies t = 0; //0 is to get the first item of enum list Technologies
            t = (Technologies)1;//other than first item all the items in the list 
                                //are converted to enum type(technologies) while using
            Console.WriteLine("The 1st and 2nd items are {0}, {1}", 0, (Technologies)1);
        }
    }
}
C# Enumerator or Enum Example 1

正如我们已经讨论过的,Enum 必须直接在命名空间下定义。并且代码在 Main() 方法中。

要打印 C# 枚举列表 Technologies 中的第一项,我们可以直接使用 0。Technologies t = 0

但是其余项应通过转换为 enum 类型 Technologies 来调用,即 t = (Technologies)1。

在这里,t 是 Technologies 类型的变量。

最后,它会打印出枚举列表 Technologies 中的第一项和第二项。

Foregroundcolor 和 Backgroundcolor 是 System 命名空间中 Console 类的属性。相比之下,Consolecolor 是不同颜色的枚举列表。

C# Enum 或 Enumerator 示例

让我们通过实践来看看 Enum 或 Enumerator 的用法。

using System;

namespace CSharp_Tutorial
{
    public enum Days
    {
        Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5
    }
    class Program
    {
        public static Days MeetingDate { get; set; } = (Days)4;

        static void Main()
        {
            Console.BackgroundColor = ConsoleColor.Blue;
            Console.WriteLine("Default date is {0} ", MeetingDate);
            MeetingDate = Days.Monday;
            Console.WriteLine("Meeting Date changed to {0} ", MeetingDate);
        }
    }
}

输出

Enum or Enumerator Example 2

ConsoleColor 是系统定义的 Enum,而 Days 是用户定义的 Enum。

Enum Days 列表中包含所有工作日,每个工作日都用某个用户定义的数字进行初始化。

在这里,我们只是创建了一个名为 MeetingDate 的属性,其类型为 Days,并为其分配了默认值 4,即默认的 MeetingDate 是星期四。

在 Enum 或 enumerator 示例的 Main() 代码中,

当我们尝试更改 MeetingDate 时,它会提示我们选择枚举器列表 Days 中的值。并且不允许我们给出列表之外的值。例如,星期六。

注意:因此,Enum 限制用户只能从支持的特定列表中选择项目,即用户不能选择 Enum 列表之外的值。

分类 C#