C#에서 콘솔로부터 입력을 받으려면 ReadLine() 메서드를 사용합니다. 이 메서드는 입력값을 항상 문자열(string) 형태로 반환하기 때문에, 숫자 등 다른 타입으로 사용하려면 반드시 형 변환 과정이 필요합니다.
예를 들어, 사용자로부터 정수를 입력받아 이를 int 타입으로 변환하는 방법을 살펴보겠습니다.
1. 사용자 입력 읽기
먼저 ReadLine() 메서드로 콘솔 입력을 문자열 변수에 저장합니다.
string val;
Console.Write("Enter integer: ");
val = Console.ReadLine();2. 문자열을 정수로 변환하기
다음으로 Convert.ToInt32() 메서드를 사용해 문자열을 정수(int)로 변환합니다.
int a = Convert.ToInt32(val);
Console.WriteLine("Your input: {0}",a);전체 예제 코드
지금까지의 내용을 하나의 완전한 프로그램으로 작성하면 다음과 같습니다.
using System;
using System.Collections.Generic;
class Demo {
static void Main() {
string val;
Console.Write("Enter Integer: ");
val = Console.ReadLine();
int a = Convert.ToInt32(val);
Console.WriteLine("Your input: {0}",a);
}
}실행 결과
위 코드를 실행하고 숫자 5를 입력하면 다음과 같은 결과가 출력됩니다.
Enter Integer: 5 Your input: 5
참고 사항
사용자가 숫자가 아닌 값을 입력하면 Convert.ToInt32()는 FormatException 예외를 발생시킵니다. 따라서 실제 애플리케이션에서는 int.TryParse() 메서드를 사용해 변환 성공 여부를 먼저 확인하는 것이 안전합니다. 또한 C# 7 이상에서는 out int 인라인 변수 선언을 활용해 코드를 더 간결하게 작성할 수 있습니다.