重新询问用户输入或继续代码


一直

面临这个问题,但无法真正弄清楚如何克服它;

它与用户输入有关 - 如果用户输入错误,我希望程序继续或重新提问;

一个例子 ;

  • 我希望用户输入年龄
  • 当用户正确输入年龄时,我希望程序继续(但在下面的代码中它询问了 5 次
  • 如果用户输入错误的条目(即字符串),我希望程序重新要求输入年龄

感谢听到您的善意帮助

for (int i = 0; i < 5; i++)
        {
            int _Age;
            Console.Write ("Please enter your age :") 
            string AgeEntry = Console.ReadLine();
            bool AgeCheck = Int32.TryParse(AgeEntry, out _Age);
            if (!AgeCheck)
            {
                Console.WriteLine("Please enter your age : ");
            }
            else
            {
                i--;
            continue;
            }

        }
int age = 0;
while (true)
{
    Console.WriteLine("Please enter your age:");
    string entry = Console.ReadLine();
    if (int.TryParse(entry, out age)) break;
}

这个想法只是运行一个"无限"循环,直到输入有效的年龄,此时我们break出循环。

而不是无限循环:

int age = 0;
do
{
    Console.WriteLine("Please enter your age:");
    string entry = Console.ReadLine();
} while (!int.TryParse(entry, out age));

无限循环本身没有错。我只是觉得没有它更干净。

无限循环,只需发出"break;",它就会退出。

    int _Age;
    while( true )
    {
        Console.Write ("Please enter your age :") 
        string AgeEntry = Console.ReadLine();
        bool AgeCheck = Int32.TryParse(AgeEntry, out _Age);
        if ( AgeCheck == true ) {  break; }
    }

回答您关于被问 5 次的问题。 你有一个 for 循环,无论用户给出的答案如何,它都会在代码中旋转 5 次。

for (int i = 0; i < 5; i++) 
{ your code is here }

在下面的代码中,在 do 循环之后,您将在答案变量中获得来自控制台的输入,在 age 变量中具有解析的 int。 可以在 VS 中创建新的控制台应用并将其粘贴到程序中.cs然后运行它进行测试。

using System;
namespace console {
    internal class Program {
        private static void Main( string[] args ) {
            int age;
            string answer;
            do {
                Console.Clear();
                Console.Write( "Please enter your age: " );
                answer = Console.ReadLine();
            } while ( !int.TryParse( answer, out age ) );
            Console.WriteLine( string.Empty );
            Console.WriteLine( "Thanks, let's continue..." );
            Console.Read();
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新