使用值从C#中的Enum中获取正确的名称

时间:2013-07-29 14:46:22

标签: c# enums

我有以下普查员。

public enum Fruits
    {
        Banana = 1,
        Apple = 2,
        Blueberry = 3,
        Orange = 4
    }

我想做的是以下内容

static void FruitType(int Type)
    {
        string MyType = Enum.GetName(Fruits, Type);
    }

基本上我希望字符串MyType用对应于我输入的整数的名称填充。因此,如果我输入1,MyType的值应为Banana。

EG。 FruitType(1) - > MyType = Banana

2 个答案:

答案 0 :(得分:7)

GetName的第一个参数需要类型。

static void FruitType(int Type)
{
   string MyType = Enum.GetName(typeof(Fruits), Type);
}

如果你不打算在方法中做任何其他事情,你可以像这样返回字符串

static string FruitType(int Type)
{
   return Enum.GetName(typeof(Fruits), Type);
}

string fruit = FruitType(100);
if(!String.IsNullOrEmpty(fruit))
   Console.WriteLine(fruit); 
else
   Console.WriteLine("Fruit doesn't exist");

答案 1 :(得分:2)

基本上我希望字符串MyType用对应于我输入的整数的名称填充。

string str = ((Fruits)1).ToString();

您可以修改方法,如:

static string FruitType(int Type)
{
    if (Enum.IsDefined(typeof(Fruits), Type))
    {

        return ((Fruits)Type).ToString();
    }
    else
    {
        return "Not defined"; 
    }
}

使用它

string str = FruitType(2);