如何将 console.readline 转换为枚举?
How can I convert console.readline to enum?
我有这个星期几的枚举。我有变量“工作日”将其转换为枚举类型。当我想通过键盘输入日期时,出现错误“无法将字符串类型隐式转换为 NameDia.CS.Program.Days”
**namespace NombreDia_CS
{
class Program
{
enum Dias
{
Domingo = 1,
Lunes,
Martes,
Miercoles,
Jueves,
Viernes,
Sabado
}
static void Main(string[] args)
{
Dias diaSemana;
Console.WriteLine("Ingresar un valor numerico: ");
diaSemana = Console.ReadLine(); //the error here
}
}
}**
Console.ReadLine()
returns 一个字符串,因此您必须将其转换为整数,然后将其转换为枚举。
diaSemana = (Dias)Convert.ToInt32(Console.ReadLine());
或者您可以在 C# 7+ 中执行类似的操作,它将解析字符串,并使用相应的 Dias 成员
初始化 diaSemana
Enum.TryParse(Console.ReadLine(), out Dias diaSemana);
这也一样
Dias diaSemana;
Enum.TryParse(Console.ReadLine(), out diaSemana)
我有这个星期几的枚举。我有变量“工作日”将其转换为枚举类型。当我想通过键盘输入日期时,出现错误“无法将字符串类型隐式转换为 NameDia.CS.Program.Days”
**namespace NombreDia_CS
{
class Program
{
enum Dias
{
Domingo = 1,
Lunes,
Martes,
Miercoles,
Jueves,
Viernes,
Sabado
}
static void Main(string[] args)
{
Dias diaSemana;
Console.WriteLine("Ingresar un valor numerico: ");
diaSemana = Console.ReadLine(); //the error here
}
}
}**
Console.ReadLine()
returns 一个字符串,因此您必须将其转换为整数,然后将其转换为枚举。
diaSemana = (Dias)Convert.ToInt32(Console.ReadLine());
或者您可以在 C# 7+ 中执行类似的操作,它将解析字符串,并使用相应的 Dias 成员
初始化diaSemana
Enum.TryParse(Console.ReadLine(), out Dias diaSemana);
这也一样
Dias diaSemana;
Enum.TryParse(Console.ReadLine(), out diaSemana)