3

我正在尝试枚举运行时输入以在 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();
   }
}

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

4

2 回答 2

6

认为您想要以下方面的内容:

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);
}

因此,这会将每个字符转换为字符串,并尝试将其解析为Alphabets. 然后通过强制转换将每个解析的值转换为一个int

于 2012-11-29T06:42:56.940 回答
0

检查此代码。这就够了

 enum Alphabets { a = 1, b, c, d, e, f, g, h , i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z }

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

            foreach (char c in s)
            {
                Alphabets parsed = (Alphabets)Enum.Parse(typeof(Alphabets), c.ToString());
                 Console.WriteLine((int)parsed);
            }

            Console.ReadKey();
        }
于 2012-11-29T10:04:31.297 回答