How do you wait for input on the same Console.WriteLine() line?

I want to pose a question such as:

What is your name? Joe

How would I accomplish this using Console.WriteLine to also wait for the response on that same line instead of it being broken into:

What is your name?

Joe


Solution 1:

Use Console.Write instead, so there's no newline written:

Console.Write("What is your name? ");
var name = Console.ReadLine();

Solution 2:

As Matt has said, use Console.Write. I would also recommend explicitly flushing the output, however - I believe WriteLine does this automatically, but I'd seen oddities when just using Console.Write and then waiting. So Matt's code becomes:

Console.Write("What is your name? ");
Console.Out.Flush();
var name = Console.ReadLine();