如何读取输入然后在同一行上写入?

How to read an input then write on same line?

我正在使用 Visual Basic,想问一下如何以这种格式输入? "First name: Abdul, Second name: Sharif"

我写了这段代码:

    Console.Write("First name: ")
    FirstName = Console.ReadLine()
    Console.Write(", Second name: ")
    SecondName = Console.ReadLine()

但是,当我输入第一个值后,它会跳转到下一行。 那么在同一行输入和书写的方式是什么呢? 谢谢。

ReadLine() 读取一行,这就是它转到下一行的原因。

您需要改用 ReadKey()。但是随后您将需要一个循环将其添加到 FirstName 变量中,并且您将不得不处理特殊字符(如 Enter/Return)。

Console.Write()Console.WriteLine() 不同,Console.Read() 方法的作用与它的对应方法 Console.ReadLine() 不同,而无需下一行。相反,它读取下一个字符。 Console.Read()Console.ReadKey()可以用来实现你想要的, 但是我发现还有另一种方法更适合您的需要; 从 Console.CursorTop 变量中减去 1,然后将 Console.CursorLeft 变量设置为您要打印到的位置(在 X 轴中)。 然后,打印字符串。更改光标的 X 位置时,请记住输入回显时的长度,以及一般情况下上一行中的任何字符。

有人可能会说Console.SetCursorPosition()可以在这里使用,这是正确的,但效率较低,因为您需要获取光标当前的Y位置+调用方法。

谢谢!现在可以使用了。

    Console.Write("First name: ")
    FirstName = Console.ReadLine()
    Console.CursorTop = Console.CursorTop - 1
    Console.SetCursorPosition(Len("First name; " & FirstName), Console.CursorTop)
    Console.Write(", Second name: ")
    SecondName = Console.ReadLine()