📜  从字符串或整数获取枚举值 - C# (1)

📅  最后修改于: 2023-12-03 15:21:57.401000             🧑  作者: Mango

从字符串或整数获取枚举值 - C#

在C#中,枚举是一种在编程过程中定义常量的数据类型。在某些情况下,您可能需要从字符串或整数中获取枚举值。在本文中,我们将讨论如何在C#中轻松地获取枚举值。

从字符串中获取枚举值

在C#中,您可以使用Enum.Parse()方法根据字符串值获取枚举值。此方法的语法如下:

public static object Parse(Type enumType, string value)

以下是使用Enum.Parse()方法从字符串值获取枚举值的示例:

public enum DaysOfWeek
{
    Sunday,
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday
}

string dayOfWeek = "Monday";
DaysOfWeek enumValue = (DaysOfWeek)Enum.Parse(typeof(DaysOfWeek), dayOfWeek);

Console.WriteLine("Enum value from string: {0}", enumValue.ToString()); // 输出:Enum value from string: Monday

在上面的示例中,我们定义了一个名为DaysOfWeek的枚举,并使用Enum.Parse()方法从名称为“Monday”的字符串中获取枚举值。我们将获取的值强制转换为DaysOfWeek类型,并使用ToString()方法打印出来。

从整数中获取枚举值

您也可以使用Enum.Parse()方法从整数值获取枚举值。此方法的语法如下:

public static object ToObject(Type enumType, object value)

以下是使用Enum.ToObject()方法从整数值获取枚举值的示例:

public enum Weekends
{
    Saturday = 1,
    Sunday = 2
}

int enumValueInt = 2;
Weekends enumValue = (Weekends)Enum.ToObject(typeof(Weekends), enumValueInt);

Console.WriteLine("Enum value from integer: {0}", enumValue.ToString()); // 输出:Enum value from integer: Sunday

在上面的示例中,我们定义了一个名为Weekends的枚举,并使用Enum.ToObject()方法从值为2的整数中获取枚举值。我们将获取的值强制转换为Weekends类型,并使用ToString()方法打印出来。

结论

在C#中,您可以使用Enum.Parse()或Enum.ToObject()方法从字符串或整数中获取枚举值。这两种方法对于处理用户输入以获取枚举值等情况非常有用。