Как удалить только нужную строку с вывода консоли, а не все что написано в консоли

Console.Clear() очищает всю консоль, а можно выборочно что то удалять? Если да, то как?


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

Автор решения: Швеев Алексей

Очистить только определённую область просто так нельзя, однако можно перезаписать символы в определённой позиции (в том числе и на пробелы):

Console.WriteLine("Simple fake progressbar: ");
// Запоминаем позицию курсора:
var pos = Console.GetCursorPosition();
Console.WriteLine("[....]");

// Ждём пол секунды
Task.Delay(500).Wait();
// Восстанавливаем позицию
Console.SetCursorPosition(pos.Left, pos.Top);
// Перезаписываем начиная с позиции курсора
Console.WriteLine("[@...]");

Task.Delay(500).Wait();
Console.SetCursorPosition(pos.Left, pos.Top);
Console.WriteLine("[@@..]");

Task.Delay(500).Wait();
Console.SetCursorPosition(pos.Left, pos.Top);
Console.WriteLine("[@@@.]");

Task.Delay(500).Wait();
Console.SetCursorPosition(pos.Left, pos.Top);
Console.WriteLine("[@@@@]");
→ Ссылка