我在学校java学习,但我需要使用C#来完成我朋友需要的项目。我从java中转换了不能在c#中工作的东西并改变它们,但是当我运行程序时遇到了一个问题。这是它的一部分:
static void Main(string[] args)
{
Console.WriteLine("put N");
int bign= Console.Read();
Console.WriteLine("put n");
int n = Console.Read();
Console.WriteLine("put t");
int t = Console.Read();
}
它只获得N然后没有任何反应。 请帮帮我:)。
答案 0 :(得分:2)
当您键入输入字符时,Read方法会阻止其返回;它 按Enter键时终止。按Enter键附加一个 平台相关的线路终端序列到您的输入(for 例如,Windows附加一个回车换行序列)。 对Read方法的后续调用一次检索输入一个字符。检索完最后一个字符后,阅读 再次阻止其返回并重复循环。
作为解决方案,您可以使用Console.ReadLine()
方法,并使用Int32.Parse
或Int32.TryParse
方法将其解析为int
;
int bign, n, t;
Console.WriteLine("put N");
string s1 = Console.ReadLine();
Console.WriteLine("put n");
string s2 = Console.ReadLine();
Console.WriteLine("put t");
string s3 = Console.ReadLine();
Int32.TryParse(s1, out bign);
Int32.TryParse(s2, out n);
Int32.TryParse(s3, out t);