본문 바로가기
IT

C# 문자열과 정수 input 제대로 다루는 방법

by 비누91 2025. 4. 29.
반응형

 

C# 문자열과 정수 input 제대로 다루는 방법

사용자 입력, 문자열 처리부터 숫자 변환까지 완전 정복!


01. C#에서 입력받는 기본 문법 구조 알아보기

"콘솔 프로그램에서 사용자 입력을 받으려면 Console.ReadLine()을 사용합니다."

Console.Write("이름을 입력하세요: ");
string name = Console.ReadLine();

이렇게 입력받은 값은 무조건 문자열(string) 형태로 저장됩니다.
숫자를 입력해도 문자열로 받아들이기 때문에
정수나 실수로 변환하는 작업이 필요합니다.


02. 문자열을 정수로 바꾸는 3가지 방법 비교

방식 메서드 특징

변환 실패 시 오류 int.Parse() 실패 시 예외 발생
안전한 변환 int.TryParse() 실패해도 예외 없음
강제 형변환 (int)Convert.ToDouble() 실수→정수 변환 가능

예시 코드:

int age = int.Parse(Console.ReadLine());  // 위험
int.TryParse(Console.ReadLine(), out int safeAge);  // 안전

"TryParse를 쓰면 입력 오류에도 프로그램이 멈추지 않아서 실무에 적합합니다."


03. 실습 예제: 이름과 나이를 입력받아 인사 메시지 출력하기

Console.Write("이름을 입력하세요: ");
string name = Console.ReadLine();

Console.Write("나이를 입력하세요: ");
int.TryParse(Console.ReadLine(), out int age);

Console.WriteLine($"안녕하세요, {age}살의 {name}님!");
  • TryParse()는 변환 실패 시 0으로 초기화되므로 디폴트 처리하기 좋습니다.
  • 중괄호 안에 변수명을 넣는 $"{}" 문법은 **문자열 보간(String Interpolation)**입니다.

04. 숫자 입력 시 발생하는 오류 상황과 예외 처리 팁

  • 사용자가 "열두" 같은 문자를 입력할 경우
    int.Parse()는 예외(Exception)를 발생시킵니다.

이럴 땐 아래처럼 처리합니다:

Console.Write("숫자를 입력하세요: ");
string input = Console.ReadLine();

if (int.TryParse(input, out int number))
{
    Console.WriteLine($"입력한 숫자: {number}");
}
else
{
    Console.WriteLine("정확한 숫자를 입력해주세요!");
}

"예외 처리 없이도 자연스럽게 흐름 제어가 가능하다는 점이 TryParse의 가장 큰 장점입니다."


05. 여러 개의 숫자를 한 줄에 입력받는 방법

입력 예시: 10 20 30

Console.Write("숫자 3개를 띄어쓰기로 입력하세요: ");
string[] inputs = Console.ReadLine().Split(' ');

int[] numbers = Array.ConvertAll(inputs, int.Parse);
  • Split() 메서드로 문자열을 나누고
  • Array.ConvertAll()로 한 번에 정수 배열로 변환할 수 있습니다.

"빠르게 많은 숫자를 입력받을 때 유용한 방식입니다."


06. 입력값 검증 로직 추가로 사용자 실수 막기

  • 입력값이 비어있거나 너무 짧은 경우를 체크하려면?
Console.Write("사용자 ID 입력: ");
string userId = Console.ReadLine();

if (string.IsNullOrWhiteSpace(userId) || userId.Length < 4)
{
    Console.WriteLine("아이디는 최소 4자 이상 입력해야 합니다.");
}

"기초적인 검증만 잘해도 프로그램 안정성이 크게 높아집니다."


07. 콘솔 앱에서 반복 입력받는 루프 구조 만들기

while (true)
{
    Console.Write("숫자를 입력하세요 (종료하려면 q): ");
    string input = Console.ReadLine();

    if (input == "q") break;

    if (int.TryParse(input, out int number))
    {
        Console.WriteLine($"입력된 값: {number}");
    }
    else
    {
        Console.WriteLine("유효한 숫자가 아닙니다.");
    }
}

"이렇게 하면 사용자와 상호작용하는 기본적인 CLI 프로그램을 쉽게 만들 수 있습니다."


#C샵입력처리 #문자열입력 #정수변환 #콘솔앱 #TryParse활용 #C샵기초문법

C샵입력처리, 문자열입력, 정수변환, 콘솔앱, TryParse활용, C샵기초문법

반응형