Когда происходит сборка мусора, между началом и концом программы?

Я думаю, я нашел, почему есть несколько разных ответов на этот вопрос. Когда окно было изменено таким образом, что оно имеет горизонтальную полосу прокрутки (поскольку буфер больше окна) Console.CursorTop, похоже, возвращает неправильную строку. Следующий код работает для меня независимо от размера окна или положения курсора.

public static void ClearLine()
{
    Console.SetCursorPosition(0, Console.CursorTop);
    Console.Write(new string(' ', Console.WindowWidth));
    Console.SetCursorPosition(0, Console.CursorTop - (Console.WindowWidth >= Console.BufferWidth ? 1 : 0));
}

Без (Console.WindowWidth> = Console.BufferWidth? 1: 0) код может перемещать курсор вверх или вниз, в зависимости от того, какую версию вы используете на этой странице, и состояние окна.

-10
задан Hans Passant 18 July 2013 в 15:04
поделиться