我试图枚举运行时输入以在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中。我需要显示用户提供的字符串的整数值。 上面的代码显示了如下错误: 我怎么能纠正这个?或者请给我一个有效的代码..
答案 0 :(得分: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);
}
因此,这会将每个字符转换为字符串,并尝试将其解析为Alphabets
的成员。然后,只需通过强制转换将每个已解析的值转换为int
。
答案 1 :(得分: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();
}