C#Newbie需要帮助:将枚举转换为字符串

时间:2015-10-01 16:07:24

标签: c# enums

我是编程新手。我想将ComputerHand和PlayerHand转换为字符串,以便我可以创建一个字符串数组来写入文本文件。

 public enum Hand { Rock = 1, Paper, Scissors };
 public enum Outcome { Win, Lose, Tie };

 public Hand ComputerHand { get; set; }
 public Hand PlayerHand { get; set; }
 public char UserSelection { get; set; }

1 个答案:

答案 0 :(得分:0)

以下是Enum,

public enum AnEnum
{
    Value1,
    Value2,
    Value3
}

简答:AnEnum.Value1.ToString()

如果要为枚举值提供不同的详细信息(友好字符串),可以使用“描述”属性进行枚举。请参阅:How can I assign a string to an enum instead of an integer value in C#?

如果您正在处理枚举< - >你可能有时想将字符串转换为枚举,这可以这样做:

AnEnum AnEnumValue = (AnEnum ) Enum.Parse(typeof(AnEnum ), "Value1", true);

只是为了某人使用枚举和字符串的好处,如果你想从枚举值中创建一个字符串数组,

string[] arrayOfEnumStrings 
        = Enum.GetValues(typeof(AnEnum)).Cast<AnEnum>()
            .Select(enumVal=> enumVal.ToString()).ToArray();

这里,“Enum.GetValues(typeof(Foos))。Cast()”将为你提供enum值的枚举。然后“选择”会将这些枚举值转换为字符串。