输入字符串格式不正确
本文关键字:不正确 格式 字符串 输入 | 更新日期: 2023-09-27 18:03:40
我真的很糟糕的c#,我只有真正的c#的基本知识,我有这段代码,但我不能让它工作可能调试器说问题在这里http://puu.sh/2h2wV代码在这里,这是我很抱歉,这可能是这样一个容易的错误我有其他的代码是真的,是我的旧程序:(
Console.WriteLine("Sisesta esimene arv vahemikus 10-20");
vastus1 = int.Parse(Console.ReadLine());
Console.WriteLine("sisesta teine arv vahemikus 20-32");
vastus2 = int.Parse(Console.ReadLine());
Console.WriteLine("Vastus {0}", vastus2 - vastus1);
string tekst1 = Console.ReadLine();
vastus3 = int.Parse(tekst1); <------ debugger says problem is here
}
while ((vastus1 < 1 || vastus2 < 12));
if (vastus3 >= 3 && vastus3 >= 5)
{
Console.WriteLine("On Kevad");
{
if (vastus3 >= 6 && vastus3 >= 8)
{
Console.WriteLine("on suvi");
}
}
if (vastus3 >= 9 && vastus3 >= 11)
{
Console.WriteLine("on sügis");
}
if (vastus3 >= 11 && vastus3 >= 2)
{
Console.WriteLine("on talv");
}
}
}
}
}
这个错误说明了这一切
The input string was not in the right format
在你所做的上下文中,这意味着你直接传递给int.Parse
的控制台输入的任何内容都不能被解析为int。
如果您期望有时输入到控制台的内容不是数字,您可以使用int.TryParse
来确定它是否有效。
int vastus3 = 0;
while(!int.TryParse(Console.ReadLine(),out vastus3 ))
{
Console.WriteLine("Invalid number, try again!");
}
// here "vastus3" will have your integer
Jamiec的解释是正确的。如果你要查找的整数总是以相同的格式出现在字符串的末尾,你可以使用Substring来获得特定的字符,然后进行比较检查。
下面是如何使用Substring从字符串末尾删除字符的示例。
从字符串
的末尾开始子字符串和msdn
http://msdn.microsoft.com/en-us/library/system.string.substring%28v=vs.71%29.aspx