C#中的枚举

jan*_*ani 2 .net c# foreach enums enumeration

我试图枚举运行时输入以在c#中打印枚举变量的值.例如,

class Program
{
   enum Alphabets { a = 1, b, c, d, e, f, g, h }

   public static void Main(String[] args)
   {
       string s = Console.ReadLine();

       foreach(char c in s)
       {
           foreach(int i in Enum.GetValues(typeof(Alphabets)))
              Console.WriteLine(s[i]);
       }

       Console.ReadKey();
   }
}
Run Code Online (Sandbox Code Playgroud)

我将用户输入存储在String中.我需要显示用户提供的字符串的整数值.上面的代码显示了如下错误: 索引错误! 我怎么能纠正这个?或者请给我一个有效的代码..

Jon*_*eet 5

你想要这样的东西:

string line = Console.ReadLine();
foreach (char c in line)
{
    string name = c.ToString();
    Alphabets parsed = (Alphabets) Enum.Parse(typeof(Alphabets), name);
    Console.WriteLine((int) parsed);
}
Run Code Online (Sandbox Code Playgroud)

所以这会将每个字符转换为字符串,并尝试将其解析为成员Alphabets.然后将每个已解析的值转换为int仅通过强制转换.