사용자 입력 허용
Tip
자세한 내용은 텍스트 및 이미지 탭을 참조하세요.
프로그램은 프로그램을 사용하여 사람들과 상호 작용할 수 있을 때 진정으로 강력해집니다. C#의 Console.ReadLine() 메서드를 사용하면 프로그램을 일시 중지하고 사용자가 항목을 입력할 때까지 기다렸다가 해당 정보를 캡처할 수 있습니다.
Console.ReadLine() 사용
메서드를 Console.ReadLine() 질문 프롬프트로 간주합니다. 프로그램이 이 줄에 도달하면 사용자가 답변을 입력하고 Enter 키를 누를 때까지 기다렸다가 계속합니다.
사용자의 대답을 저장하려면 변수를 사용하여 "catch"해야 합니다.
string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");
이 코드 favoriteColor 에서는 변수(값을 보유하는 컨테이너)입니다. 이 프로그램을 실행하면 입력을 기다립니다. 사용자가 Orange를 입력하고 Enter 키를 누르면 출력은 다음과 같습니다:
Orange
Oh, I love Orange too!
C# 코드 편집기에서 이 코드를 직접 실행해 볼 수 있습니다.
프롬프트 끝에 공백 추가
사용자 입력을 더 읽기 쉽게 하려면 Console.ReadLine()와 Console.Write()를 결합하세요:
Console.Write("What is your favorite color? ");
string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");
프롬프트의 끝에 공백을 확인합니다 "What is your favorite color? ". . 이 항목이 없으면 사용자의 입력이 텍스트 What is your favorite color?Orange에 붙은 것처럼 보입니다. 공백을 추가하면 더 명확해집니다.
데이터 형식 이해
C#의 모든 값에는 데이터 형식이 있으며, 이 형식은 컴퓨터에 값의 종류를 알려줍니다. 몇 가지 일반적인 데이터 형식은 다음과 같습니다.
-
문자열(
string): 따옴표로 묶인 텍스트(예"Blue": 또는"25". 숫자도 따옴표 안에 있을 때 텍스트가 됩니다. -
정수(
int): 따옴표가 없는 정수(25예: 또는100. 이것으로 수학을 할 수 있습니다.
이것이 왜 문제가 될까요? C#은 이러한 형식을 다르게 처리합니다. 숫자끼리는 더할 수 있습니다(25 + 1는 26와 같습니다). 하지만 특별한 처리 없이는 텍스트에 숫자를 직접 더할 수 없습니다.
Console.ReadLine()은 항상 문자열을 반환합니다.
반드시 기억해야 할 규칙은 Console.ReadLine() 사용자가 숫자를 입력하더라도 항상 텍스트(문자열)를 반환하는 것입니다. 다음은 그 예입니다.
string age = Console.ReadLine();
Console.WriteLine(age + 1); // This causes an error!
이 코드를 실행하고 25를 입력하면 프로그램이 26를 출력하지 않습니다. 대신 텍스트 1에 "25"를 추가하려고 하는데, 이는 C#에서 허용되지 않습니다. 이것은 일반적인 초보자 실수입니다!
사용자 입력을 사용하여 수학을 수행하려면 먼저 텍스트를 숫자로 변환해야 하지만 나중에 살펴보겠습니다. 지금은 사용자 유형이 무엇이든 항상 텍스트로 처리됩니다.