C#如何将非数字值设置为0

问题描述 投票:0回答:1

我必须编写代码,要求3个整数值并找到最大的整数。但是,如果用户输入非数字值,则该值必须为零。到目前为止,我写了这个

        int a, b, c;

        Console.WriteLine("Enter value 1:");
        a = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Enter value 2:");
        b = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Enter value 3:");
        c = Convert.ToInt32(Console.ReadLine());

        if (a > b && a > c)
        {
            Console.WriteLine("The greatest value is: {0}", a);
        }
        if (b > a && b > c)
        {
            Console.WriteLine("The greatest value is: {0}", b);
        }
        if (c > a && c > b)
        {
            Console.WriteLine("The greatest value is: {0}", c);
        }

此代码仅适用于数字。我的问题是我不能使非数字输入的值为零。我尝试使用字符串而不是int,所以没有错误,但是我无法在if语句中对字符串使用“>”,并且我也尝试使用默认值,因为默认情况下它为零。

谢谢

c# default-value zero
1个回答
2
投票

您可以替换:

x = Convert.ToInt32(Console.ReadLine());

有...

int.TryParse(Console.ReadLine(), out int x);

如果无法解析输入,则x最终将为0。

© www.soinside.com 2019 - 2024. All rights reserved.