你如何等待同一台Console.WriteLine()行的输入?

39 c#

我想提出一个问题,例如:

你叫什么名字?乔

我将如何使用Console.WriteLine也等待同一行的响应而不是将其分解为:

你叫什么名字?

Mat*_*ton 64

请改用Console.Write,因此没有写入换行符:

Console.Write("What is your name? ");
var name = Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 19

正如马特所说,使用Console.Write.我还建议明确刷新输出,但是 - 我相信WriteLine会自动执行此操作,但是在使用Console.Write然后等待时我会看到一些奇怪的东西.所以马特的代码变成了:

Console.Write("What is your name? ");
Console.Out.Flush();
var name = Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

  • 不过,我很高兴乔恩补充说.我从来都不知道使用Flush,最好将此作为人们确实遇到问题时的参考. (3认同)
  • 在没有使用WriteLine的情况下等待用户输入时,我只需要使用flush.它也可能依赖于操作系统,甚至依赖于.NET框架.鉴于我*看到它是一个问题,我认为在这里保持谨慎是明智的. (3认同)