2013-03-14 2 views
5

C#에서 콘솔의 줄을 어떻게 지울 수 있습니까?콘솔에서 줄 지우기

나는 줄의 시작 부분에 커서를 배치하는 방법을 알고

Console.SetCursorPosition(0, Console.CursorTop); 
+2

Google은 친구입니다. http://msdn.microsoft.com/en-us/library/system.console.clear.aspx <- 첫 번째 Google 검색 결과, 행의 첫 번째 결과 : http://stackoverflow.com/questions/5027301/c-sharp-clear-console-last-item-and-new-console-animation \ –

답변

10

가장 간단한 방법은 당신이했던 것처럼, 줄의 처음으로 이동, 다음의 문자열을 작성하는 것 줄의 길이와 같은 길이의 공백

Console.Write(new String(' ', Console.BufferWidth)); 
+2

이것은 나를 위해 새 줄을 감싸는 것 같습니다. 어때 Console.Write (new String ('', Console.BufferWidth - 1)) ?? –

+0

확신 할 수 있습니다 ... 단순히 전체 줄을 씁니다! 나중에 한 줄 위로 이동하십시오. -1 일 경우, 한 문자는 공백으로 남겨 둡니다! – Zordid

2

콘솔 버퍼 행의 마지막 공간이 사용되면 콘솔 커서가 자동으로 다음 줄로 이동합니다.

  1. 재설정 커서 다시 시작하는 것이
  2. 삭제 된 콘솔 출력했다 라인에
  3. 재설정 커서 다시 다음 줄에 커서를 놓고 그냥

    while (true) 
    { 
        Console.Write("."); 
        if (Console.CursorLeft + 1 >= Console.BufferWidth) 
        { 
        Console.SetCursorPosition(0, Console.CursorTop); 
        Console.Write(Enumerable.Repeat<char>(' ', Console.BufferWidth).ToArray()); 
        Console.SetCursorPosition(0, Console.CursorTop - 1); 
        } 
    
        if (Console.KeyAvailable) 
        break; 
    } 
    
  4. 을 삭제 콘솔의 가장자리에 도달하기 전에
0

(여기 at.toulan 결합 앤드류의 대답.)

간단는, 마지막 줄에 걸쳐 덮어 :

"텍스트의 새로운 라인"앤드류는 말한다처럼, 당신의 텍스트를 작성하기 전에 공간을 쓰기 전에 있었던 텍스트보다 짧은 경우
Console.SetCursorPosition(0, Console.CursorTop - 1) 
Console.WriteLine("new line of text"); 

.