달나라 노트

C# : ReadLine, Convert (user input 받기, 자료형 변환) 본문

C#/C#

C# : ReadLine, Convert (user input 받기, 자료형 변환)

CosmosProject 2022. 3. 23. 19:53
728x90
반응형

 

 

 

 

C#에서 User의 input값을 받기 위해선 Console.ReadLine method를 사용할 수 있습니다.

 

 

using System;

class MyProgram
{
    static void Main()
    {
        Console.WriteLine("Input number");
        int user_input_value = Console.ReadLine();
        Console.WriteLine(user_input_value);
    }
}

위 코드는 ReadLine으로 받은 값을 user_input_value에 할당하는 것입니다.

 

근데 위 코드를 실행하면 에러가 발생합니다.

 

그 이유는 user input값이 숫자일지 문자일지 모르기 때문입니다.

 

int user_input_value = Console.ReadLine();

위 부분을 보면 user_input_value 변수는 int 타입인데 User가 float을 입력하면 안되겠죠.

 

따라서 C#에서는 user input 값을 할당할 변수의 자료형으로 변환시켜주는 부분을 넣어야합니다.

 

 

 

 

using System;

class MyProgram
{
    static void Main()
    {
        Console.WriteLine("Input number");
        int user_input_value = Convert.ToInt16(Console.ReadLine());
        Console.WriteLine(user_input_value);
    }
}

에러가 발생하지 않게 코드를 수정하면 위와 같습니다.

 

Convert class의 ToInt16 method를 사용해서 ReadLine method로 받은 user input값을 Int16 타입으로 변환하는 부분을 추가해준겁니다.

 

 

 

 

 

 

728x90
반응형
Comments