我熟悉编程,但不熟悉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,但没有任何改变。 (不知道有什么不同,但我试过了。)
你能帮助我朝正确的方向前进吗?
我将代码更改为:
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);
我明白你的观点,但我没有得到改变以输入第二个价值。我知道当我不输入除整数之外的任何值时,我可能会收到错误。但它马上就崩溃了