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

C#에서 Read()와 ReadLine() 메서드의 차이점 완벽 정리


C# Read() 메서드란?

Read() 메서드는 표준 입력 스트림에서 다음 문자 하나를 읽어옵니다. 이 메서드는 읽어온 문자를 int 형식(해당 문자의 ASCII 코드 값)으로 반환하며, 콘솔에서 키가 입력되면 프로그램이 종료됩니다.

int a = Console.Read();
Console.WriteLine(a);

예를 들어 사용자가 'A'를 입력하면 화면에는 문자가 아닌 ASCII 코드 값인 65가 출력됩니다.

C# ReadLine() 메서드란?

ReadLine() 메서드는 표준 입력 스트림에서 한 줄 전체(줄바꿈 문자 앞까지의 모든 문자)를 읽어와 string 형식으로 반환합니다. 사용자가 Enter 키를 누를 때까지 입력을 기다리며, 더 이상 읽을 내용이 없으면 null을 반환합니다.

또한 콘솔 애플리케이션에서 실행 결과를 확인하기 위해 창이 즉시 닫히지 않도록 대기 상태를 만드는 용도로도 자주 사용됩니다.

예제

using System;
class Program {
    static void Main() {

        int x = 10;
        Console.WriteLine(x);
        Console.Write("\nPress any key to continue... ");
        Console.ReadLine();

    }
}

실행 결과

10
Press any key to continue...

Read()와 ReadLine()의 주요 차이점

  • 반환 형식: Read()int(ASCII 코드 값)를 반환하고, ReadLine()string을 반환합니다.
  • 읽는 단위: Read()는 문자 하나만 읽지만, ReadLine()은 줄바꿈 전까지의 한 줄 전체를 읽습니다.
  • null 반환 여부: Read()는 스트림 끝에서 -1을 반환하고, ReadLine()null을 반환합니다.
  • 활용 목적: 단일 키 입력 처리에는 Read(), 문장이나 숫자 입력 받기 및 콘솔 대기에는 ReadLine()이 적합합니다.