> 백엔드 개발 > C++ > C#을 사용하여 콘솔에서 특정 줄을 선택적으로 지울 수 있습니까?

C#을 사용하여 콘솔에서 특정 줄을 선택적으로 지울 수 있습니까?

Linda Hamilton
풀어 주다: 2024-12-29 10:12:12
원래의
849명이 탐색했습니다.

Can You Selectively Clear Specific Lines in the Console Using C#?

Console.Clear()를 콘솔의 특정 줄만 선택적으로 지울 수 있나요?

최근 탐색한 프로젝트에서 Console.Clear()를 사용하여 전체 콘솔 화면을 지웁니다. ) 효과적인 것으로 입증되었습니다. 그러나 더 세련된 접근 방식이 필요했습니다. 전체 콘솔 대신 특정 줄만 지우는 것입니다.

특정 줄 대상 지정

안타깝게도 Console.Clear()에는 특정 줄을 선택적으로 대상으로 지정하는 기능이 부족합니다. 삭제 부분. 그러나 Console.SetCursorPosition 함수를 사용하여 특정 줄 번호로 이동할 수 있습니다. 원하는 줄에 배치한 후에는 콘솔 창 너비에 걸쳐 일련의 공백을 작성하여 이를 지울 수 있으며, 이전 텍스트를 효과적으로 덮어쓸 수 있습니다.

ClearCurrentConsoleLine 메서드

이 프로세스를 단순화하기 위해 다음을 정의합니다. ClearCurrentConsoleLine()이라는 정적 메서드:

public static void ClearCurrentConsoleLine()
{
    int currentLineCursor = Console.CursorTop;
    Console.SetCursorPosition(0, Console.CursorTop);
    Console.Write(new string(' ', Console.WindowWidth));
    Console.SetCursorPosition(0, currentLineCursor);
}
로그인 후 복사

이 메서드는 현재 줄 커서 위치를 결정하고 커서를 다시 해당 줄의 시작 부분에 창 너비 전체에 공백을 써서 텍스트를 덮어쓴 다음 커서를 원래 위치로 되돌립니다.

사용 예

이 접근 방식을 설명하려면 다음 예를 고려하세요. :

Console.WriteLine("Test");
Console.SetCursorPosition(0, Console.CursorTop - 1);
ClearCurrentConsoleLine();
로그인 후 복사

실행되면 다음 코드는 다음과 같습니다.

  1. "Test"를 출력합니다. console.
  2. 커서를 이전 줄(예: "Test"가 포함된 줄)로 다시 이동합니다.
  3. ClearCurrentConsoleLine()을 호출하여 해당 줄을 지웁니다.

결과적으로 "Test"는 콘솔 디스플레이에서 제거되고 후속 콘텐츠는 그대로 유지됩니다.

추가 정보

자세한 내용은 Console.SetCursorPosition에 대한 MSDN 설명서를 참조하세요.

  • [Console.SetCursorPosition 방법](https://docs.microsoft.com/en-us/dotnet/api/system.console.setcursorposition?view=net-6.0)

위 내용은 C#을 사용하여 콘솔에서 특정 줄을 선택적으로 지울 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿