C#枚举类型转换

时间:2016-04-13 13:40:14

标签: c# enums casting

我在Appsettings中有一个变量,即

_tablename = ConfigurationManager.AppSettings.Get("Tablename");

我必须将变量_tablename转换为特定的枚举类型。我知道我们不能在C#枚举中使用构造函数。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

看看这里:

http://www.dotnetperls.com/enum-parse

using System;

class Program
{
    enum PetType
    {
    None,
    Cat = 1,
    Dog = 2
    }

    static void Main()
    {
    // A.
    // Possible user input:
    string value = "Dog";

    // B.
    // Try to convert the string to an enum:
    PetType pet = (PetType)Enum.Parse(typeof(PetType), value);

    // C.
    // See if the conversion succeeded:
    if (pet == PetType.Dog)
    {
        Console.WriteLine("Equals dog.");
    }
    }
}

答案 1 :(得分:0)

你需要解析。例如,如果您有一个枚举Color

enum Color
{
    Red,
    Yellow,
    Green
}

您可以像这样使用TryParse

Color myColor;

if (Enum.TryParse<Color>("Red", out myColor))
{
    // successfully parsed.
}