Noob c#。尝试验证方法内的用户输入

时间:2016-03-26 14:10:14

标签: c# methods try-catch static-methods

我在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;
    }

1 个答案:

答案 0 :(得分:1)

Int32.TryParse不会引发异常。如果输入已转换为整数

,则返回true
public 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");
}