Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 콘솔에서 표준 입력·출력 스트림 가져오기 – Console.In과 Console.Out 완벽 정리

C#에서는 Console 클래스를 통해 표준 입력 스트림과 표준 출력 스트림에 손쉽게 접근할 수 있습니다. 각각 Console.InConsole.Out 속성을 사용하며, 이를 활용하면 콘솔 환경에서 데이터를 읽고 쓰는 작업을 더욱 유연하게 처리할 수 있습니다.

표준 입력 스트림 얻기 – Console.In

표준 입력 스트림은 Console.In 속성으로 가져올 수 있습니다. 아래 예제를 통해 확인해 보겠습니다.

예제 코드

using System;
public class Demo {
    public static void Main(string[] args){
        Console.WriteLine("Displaying standard input stream...");
        Console.WriteLine("Standard Input Stream = " + Console.In);
    }
}

실행 결과

Displaying standard input stream...
Standard Input Stream = System.IO.TextReader+SyncTextReader

Console.InSystem.IO.TextReader+SyncTextReader 객체를 반환합니다. 여기서 SyncTextReader는 내부적으로 동기화가 적용된 TextReader 래퍼로, 멀티스레드 환경에서도 안전하게 입력을 읽을 수 있도록 설계되어 있습니다.

표준 출력 스트림 얻기 – Console.Out

이번에는 표준 출력 스트림을 화면에 표시하는 예제입니다. Console.Out 속성을 사용하면 됩니다.

예제 코드

using System;
public class Demo {
    public static void Main(string[] args){
        Console.WriteLine("Displaying standard output stream...");
        Console.WriteLine("Standard Output Stream = " + Console.Out);
    }
}

실행 결과

Displaying standard output stream...
Standard Output Stream = System.IO.TextWriter+SyncTextWriter

Console.OutSystem.IO.TextWriter+SyncTextWriter 객체를 반환합니다. 마찬가지로 동기화된 TextWriter 형태로, 스레드 안전성을 보장하면서 출력을 처리합니다.

정리

  • Console.In: 키보드 입력 등 표준 입력을 담당하는 TextReader 계열 객체를 반환합니다.
  • Console.Out: 콘솔 화면 출력을 담당하는 TextWriter 계열 객체를 반환합니다.
  • 두 속성 모두 일반적인 파일 스트림처럼 다룰 수 있어, SetIn(), SetOut() 메서드와 함께 사용하면 입출력 대상을 파일이나 다른 스트림으로 자유롭게 변경(리디렉션)할 수 있습니다.