Ввод между строк в консоли c#. Net 7.0.12

Как сделать так что бы в консоли был текст

Введите имя >> ... <<

Когда пользователь начинает вводить имя, последние кавычки пропадают

Введите имя >> Сем (вводит имя)

И по завершению печати последние кавычки появляются

Введите имя >> Семён <<

ах да ReadLine ещё переносит на следующую строку что в итоге

Введите имя >> семён
<<

Ответы (1 шт):

Автор решения: aepot

Как-то так

Console.Write("Введите имя >> ");
(int x, int y) = Console.GetCursorPosition(); // запомнил позицию курсора
string name = Console.ReadLine();
Console.SetCursorPosition(x + name.Length, y); // вернул курсор на конец строки
Console.WriteLine(" <<");

Для древних фреймворков решение такое

Console.Write("Введите имя >> ");
int x = Console.CursorLeft; // запомнил позицию курсора
int y = Console.CursorTop;
string name = Console.ReadLine();
Console.SetCursorPosition(x + name.Length, y); // вернул курсор на конец строки
Console.WriteLine(" <<");
→ Ссылка