C# 애플리케이션에서 리디렉션된 콘솔 입력 결정
콘솔 애플리케이션은 입력/출력 작업에 크게 의존합니다. 그러나 키보드 또는 리디렉션된 스트림(예: 파일) 등 이 입력 소스는 애플리케이션 동작을 크게 변경할 수 있습니다. 이 문서에서는 C#에서 리디렉션된 콘솔 입력을 효과적으로 감지하는 방법을 보여줍니다.
리디렉션 확인 중
가장 간단한 방법은 FileType()
함수를 사용하는 것입니다. 도우미 클래스는 이 검사를 단순화합니다.
<code class="language-csharp">public static class ConsoleHelper { public static bool IsInputRedirected() { return FileType.Char != GetFileType(GetStdHandle(StdHandle.Stdin)); } }</code>
구현
도우미를 사용하려면 다음으로 전화하세요.
<code class="language-csharp">bool isRedirected = ConsoleHelper.IsInputRedirected();</code>
true
결과는 입력이 키보드가 아닌 소스(예: 파일)에서 발생했음을 나타냅니다.
기본 네이티브 메소드
도우미는 다음 Win32 API 기능을 활용합니다.
FileType
: 파일 유형을 열거합니다(알 수 없음, 디스크, 문자, 파이프).StdHandle
: 표준 핸들(Stdin, Stdout, Stderr)을 나타냅니다.GetFileType
: 주어진 핸들의 유형을 검색합니다.GetStdHandle
: 표준 장치에 대한 핸들을 가져옵니다..NET 4.5 이상 단순화
.NET Framework 4.5 이상 버전에서는 더욱 간결한 내장 메서드를 제공합니다.
<code class="language-csharp">bool isRedirected = Console.IsInputRedirected;</code>
이것은 리디렉션 상태를 나타내는 부울을 직접 반환합니다.
이러한 기술을 활용하면 개발자는 입력 소스에 따라 기능을 조정하는 강력한 콘솔 애플리케이션을 구축하여 사용자 경험과 애플리케이션 유연성을 향상할 수 있습니다.
위 내용은 C#에서 리디렉션된 콘솔 입력을 어떻게 감지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!