c#新手需要帮助:将枚举转换为字符串

本文关键字:枚举 转换 字符串 新手 帮助 | 更新日期: 2023-09-27 18:15:27

我是一个编程新手。我想将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; }

c#新手需要帮助:将枚举转换为字符串

给定Enum,

public enum AnEnum
{
    Value1,
    Value2,
    Value3
}

简短的回答:anenumt . value1 . tostring ()

如果你想给enum值一个不同的细节(友好的字符串),你可以给enum使用"Description"属性。看看这个:我如何将字符串赋值给枚举而不是c#中的整数值?

如果处理的是enum <-> string,有时可能需要将string转换为enum,可以这样做:

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

对于使用枚举和字符串的人来说,如果你想从枚举值中创建一个字符串数组,

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

这里,"enumt . getvalues (typeof(foo)). cast()"将获得枚举值的枚举器。然后"Select"将这些枚举值转换为字符串。