我在Loop(While)中使用输入。我想要做的是在一个方法内验证用户的输入,如果它不是一个数字,那么它应该再次返回询问输入。问题是当我尝试我必须重新启动程序。有人可以解释我如何控制代码,以便我可以回到代码中吗?非常感谢!
Console.WriteLine("Efetue a jogada ->");
string escolha = Console.ReadLine();
int verificaçaoEscolha = escolhaVerificacao(escolha);
if(valido == 1){
Console.WriteLine("Try again");
//方法
public static int escolhaVerificacao(string a) {
int b;
int valido = 0;
try {
int.TryParse(a, out b);
}
catch (FormatException) {
valido = 1;
}
return valido;
}
答案 0 :(得分:1)
Int32.TryParse不会引发异常。如果输入已转换为整数
,则返回truepublic static bool escolhaVerificacao(string a)
{
int b;
return int.TryParse(a, out b);
}
并用
调用它Console.WriteLine("Efetue a jogada ->");
string escolha = Console.ReadLine();
bool verificaçaoEscolha = escolhaVerificacao(escolha);
if(!verificaçaoEscolha)
{
Console.WriteLine("Try again");
}