Страницы

Поиск по вопросам

суббота, 4 января 2020 г.

Как в консоли указать начальное значение при вводе?

#c_sharp


Дефолтное значение - это хорошо. Но что, когда дефолтное значение - это длинная строка,
а у нее надо изменить 1 символ? Не хотелось бы набирать его вручную полностью (тем
более это повышает шанс допустить опечатку)

Есть ли возможность сделать ввод через Console.ReadLine так, чтобы уже было введено
какое то значение?
    


Ответы

Ответ 1



Вариант без SendKeys, из аналогичного вопроса на английском // write the initial buffer char[] buffer = "Initial text".ToCharArray(); Console.WriteLine(buffer); // ensure the cursor starts off on the line of the text by moving it up one line Console.SetCursorPosition(Console.CursorLeft + buffer.Length, Console.CursorTop - 1); // process the key presses in a loop until the user presses enter // (this might need to be a bit more sophisticated - what about escape?) ConsoleKeyInfo keyInfo = Console.ReadKey(true); while (keyInfo.Key != ConsoleKey.Enter) { switch (keyInfo.Key) { case ConsoleKey.LeftArrow: ... // process the left key by moving the cursor position // need to keep track of the position in the buffer // if the user presses another key then update the text in our buffer // and draw the character on the screen // there are lots of cases that would need to be processed (backspace, delete etc) } keyInfo = Console.ReadKey(true); }

Ответ 2



static void Main(string[] args) { Console.Write("Your editable text:"); SendKeys.SendWait("hello"); //hello текст будет редактируемым Console.ReadLine(); }

Комментариев нет:

Отправить комментарий