2015-12-19 64 views
0

我正在使用Visual Basic,並想問如何以這種格式輸入? 「的名字:阿卜杜勒,二名:謝里夫」如何讀取輸入然後在同一行寫入?

我寫了這個代碼:

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

然而,當我輸入的第一個值,它跳轉到下一行。 那麼在同一行上輸入和寫入的方式是什麼? 謝謝。

回答

0

不像Console.Write()Console.WriteLine(),該Console.Read()方法並不盡相同,因爲它的對手,Console.ReadLine()不下去的線路。相反,它讀取下一個字符。 Console.Read()Console.ReadKey()可以用來實現你想要的, 但是,還有另一種方法,我覺得更適合你的需要, 從Console.CursorTop變量中減去1,然後將Console.CursorLeft變量設置爲要打印到的位置(在X軸上)。 然後,打印字符串。在更改光標的X位置時,請記住輸入的回顯長度以及上一行中的任何字符。

有人可能會說,Console.SetCursorPosition()可以在這裏使用,這是正確的,但效率較低,因爲您需要獲取當前的遊標的Y位置+調用方法。

0

ReadLine()讀取一行,這就是爲什麼它會轉到下一行。

您需要改用ReadKey()。但是你需要一個循環來將它添加到FirstName變量中,並且你將不得不處理特殊字符(比如Enter/Return)。

0

謝謝!它現在有效。

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() 
相關問題