嗯,这很尴尬。
在开发要翻译成 C# 的语言时,我在读取 Char 后尝试读取整数时发现了冲突。
char foo = (char) Console.Read();
int bar = int.Parse(Console.ReadLine());
不起作用,因为 return '/r' 是从 int.Parse 中读取的,而不是全新的读取尝试?
有没有简单/明显的方法解决这个问题?
提前感谢您的帮助。
嗯,这很尴尬。
在开发要翻译成 C# 的语言时,我在读取 Char 后尝试读取整数时发现了冲突。
char foo = (char) Console.Read();
int bar = int.Parse(Console.ReadLine());
不起作用,因为 return '/r' 是从 int.Parse 中读取的,而不是全新的读取尝试?
有没有简单/明显的方法解决这个问题?
提前感谢您的帮助。
添加另一个Console.ReadLine();
以消耗\r\n
char foo = (char) Console.Read();
Console.ReadLine();
int bar = int.Parse(Console.ReadLine());
为什么不在ReadLine
中间放一个?
char foo = (char)Console.Read();
Console.ReadLine(); // empties input buffer
int bar = int.Parse(Console.ReadLine());