问题描述
我有这个星期几的枚举。我有变量“工作日”将其转换为枚举类型。当我想通过键盘输入日期时,出现错误“无法将字符串类型隐式转换为 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()
返回一个字符串,因此您必须将其转换为整数,然后将其转换为枚举。
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)