System.FormatException:输入字符串不在corr中

时间:2017-11-08 10:53:39

标签: c#

我熟悉编程,但不熟悉C#。我现在正在学习它,但我有点挣扎于一些错误。

(我在另一篇文章中找不到这个问题)

代码:

public static void Main(string[] args)
{
     myFunction();
}

public static void myFunction() {
{
    Console.WriteLine("Enter a number: ");
    int resultOne = Convert.ToInt32(Console.ReadLine());

    Console.WriteLine("Enter another number: ");
    int resultTwo = Convert.ToInt32(Console.ReadLine());

    var max = (resultOne > resultTwo) ? resultOne : resultTwo;
    Console.WriteLine("Max number is: {0}", max);
}

错误:

Enter a number: 
6
Enter another number: 

Unhandled Exception:
System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber (System.String str,                                
System.Globalization.NumberStyles options, System.Number+NumberBuffer& 
number, System.Globalization.NumberFormatInfo info, System.Boolean 
parseDecimal) [0x00057] in <9790d962aaad40deb63d33029ba0d2f6>:0 

可能是一个新手的错误,但我不知道我做错了什么。传递第二个输入线后出现错误。

此外,最后一次&#39; max&#39;在Console.WriteLine中说:&#39;拳击分配:从值类型转换&#39; int&#39;引用类型&#39; object&#39;。

我也试过Int32.Parse而不是Convert.ToInt32,但没有任何改变。 (不知道有什么不同,但我试过了。)

你能帮助我朝正确的方向前进吗?

编辑1

我将代码更改为:

Console.WriteLine("Enter a number: ");
var input1 = Console.ReadLine();
int resultOne = Convert.ToInt32(input1);

Console.WriteLine("Enter another number: ");
var input2 = Console.ReadLine();
int resultTwo = Convert.ToInt32(input2);

var max = (resultOne > resultTwo) ? resultOne : resultTwo;
Console.WriteLine("Max number is: {0}", max);

我明白你的观点,但我没有得到改变以输入第二个价值。我知道当我不输入除整数之外的任何值时,我可能会收到错误。但它马上就崩溃了

0 个答案:

没有答案