C#에서 콘솔 프로그램을 만들 때 사용자 입력을 받거나 출력하는 방법
Console.ReadLine()과 Console.WriteLine()
Console.WriteLine() – 화면에 출력하기
화면에 텍스트를 출력하고, 자동으로 줄 바꿈(엔터)까지 해줌
Console.WriteLine("안녕하세요!");
Console.WriteLine("C#을 배워봅시다!");
🔹 출력:
안녕하세요!
C#을 배워봅시다!
✅ 줄 바꿈이 자동으로 적용됨
Console.Write() – 줄 바꿈 없이 출력
Console.WriteLine()과 달리 줄 바꿈을 하지 않음.
Console.Write("이름: ");
string name = Console.ReadLine();
Console.Write("나이: ");
string age = Console.ReadLine();
Console.WriteLine($"입력된 정보: {name}, {age}살");
🔹 출력 예시
이름: [장도치]
나이: [25]
입력된 정보: [장도치, 25살]
✅ Console.Write()를 사용하면 한 줄에서 입력을 받을 수 있음
Console.ReadLine()
사용자 입력 받기
사용자가 입력한 문자열을 받아옴
Console.WriteLine("이름을 입력하세요:");
string name = Console.ReadLine();
Console.WriteLine($"안녕하세요, {name}님!");
Console.WriteLine("안녕하세요, {0}님!", name);
char input = Console.ReadLine()[0]; //인덱싱처리를 해서 젤 첫글자 가져옴
Console.WriteLine(input);
🔹 출력 예시 (사용자 입력: "장도치")
이름을 입력하세요:
[장도치]
안녕하세요, 장도치님!
안녕하세요, 장도치님!
장
✅ Console.ReadLine()은 사용자가 입력할 때까지 기다렸다가 입력을 받아옴
✅ 대괄호안의 숫자는 뒤에있는 변수를 순서대로 하나씩 가져온다는 뜻, 0번째니까 0번째에 있는 name을 가져옴
숫자 입력 받기
Console.ReadLine()은 **문자열(string)**을 반환하므로 숫자로 변환해야 함.
Console.Write("나이를 입력하세요: ");
string input = Console.ReadLine();
int age = int.Parse(input); // 문자열을 숫자로 변환
Console.WriteLine($"당신의 나이는 {age}살 입니다.");
🔹 출력 예시 (사용자 입력: "25")
나이를 입력하세요: 25
당신의 나이는 25살 입니다.
✅ 주의: 숫자가 아닌 값을 입력하면 int.Parse()에서 오류 발생=>TryParse()를 사용하여 안전하게 변환할 수 있다.
Console.Read()
- 문자 하나를 숫자(정수, ASCII 코드)로 입력받음
- Enter 치기 전이라도 첫 글자를 읽으면 바로 끝남
- 결과는 int 타입 (문자 아님!)
Console.WriteLine("아무 키나 누르세요:");
int key = Console.Read();
Console.WriteLine($"입력한 문자의 ASCII 값: {key}");
Console.WriteLine($"입력한 문자: {(char)key}");
📌 예: A를 누르면 → 65 (A의 ASCII 코드), (char)key 하면 다시 문자로 변환 가능
TryParse()를 사용하여 안전하게 변환
숫자가 아닌 값을 입력해도 오류 없이 처리하는 방법
Console.Write("나이를 입력하세요: ");
string input = Console.ReadLine();
if (int.TryParse(input, out int age))
{
Console.WriteLine($"당신의 나이는 {age}살 입니다.");
}
else
{
Console.WriteLine("올바른 숫자를 입력하세요!");
}
✅ 이렇게 하면 입력 오류 방지가 가능하다
input.Split() 입력값사이에 문자(공백) 있는경우
만약 값을 "10 20"(문자열)으로 입력한다면 이것을 10,20인 숫자로 바꾸기위해서 어떻게 하면될까?
string input = Console.ReadLine();
string[] numbers = input.Split(' '); // 문자열을 공백으로 구분하여 배열로 만듬
int num1= int.Parse(numbers[0]); // 숫자 10이 num1에 들어감
int num2= int.Parse(numbers[1]); // 숫자 20이 num2에 들어감
✅ 바로 위 코드와 같이 input.Split()을 사용하여 공백으로 나눠주면 된다.
📖 정리
✔ Console.WriteLine() → 화면에 출력하고 자동 줄 바꿈
✔ Console.Write() → 줄 바꿈 없이 출력
✔ Console.ReadLine() → 사용자가 입력한 문자열을 받아옴
✔ Console.Read() → 사용자가 입력한 문자하나를 받아옴
✔ 숫자 입력은 int.Parse() 또는 TryParse() 사용
✔ TryParse()를 활용하면 입력 오류 방지 가능
'C# > 데이터다루기' 카테고리의 다른 글
[C#] 리터럴(literal) (0) | 2025.04.14 |
---|---|
[C#] Escape Sequence (0) | 2025.04.14 |
[C#] 형변환-TryParse (0) | 2025.03.20 |
[C#] 형변환 (0) | 2025.03.19 |
[C#] 자료형 (0) | 2025.03.18 |