Do-while仅在输入数字时继续

use*_*283 1 c# console-application do-while

do
{
    try
    {
        a = Convert.ToDouble(Console.ReadLine());
    }
    catch
    {
        Console.WriteLine("Hodnota není ?íslo");
    }
} while (a != 'number');
Run Code Online (Sandbox Code Playgroud)

我需要在最后输入一个数字时结束循环,我不知道如何.有帮助吗?我是新来的.

Ser*_*rvy 9

使用TryParse而不是Convert.ToDouble如果您有可能会或可能不会是一个有效的double的字符串.然后,您可以在循环中使用该方法调用的结果(这是一个指示是否已成功解析的布尔值):

double d;
while (!double.TryParse(Console.ReadLine(), out d))
{
    Console.WriteLine("The number was invalid");
}
Run Code Online (Sandbox Code Playgroud)