티스토리 뷰

플밍

C# ReadKey 형변환

nekodearu 2018. 2. 6. 15:30



웹프로그래밍 언어인 asp, php, jsp 등만 접한 저로서는 여전히 C계열 언어가 낯설고 어렵습니다.

문과계열에 비전공자이지만, 가끔 틈틈히 웹서핑하며 간단하게 익히고는 있었는데 아예 처음부터 C# 공부를 하고싶어서 책을 한권 샀는데요.

처음엔 그냥 소설책 보듯이 술술 넘어가다가 예제문제에서 막혀버렸네요. 여기서 30분넘게 삽질.

책 자체도 완전 초보를 위한 가이드서적인지라 예제는 풀라고 던졌지만 상세한 형변환은 나중 챕터에서 알려준다고.. -_-;


기본적인 형변환인 Convert.ToString / Convert.ToInt32 정도만 나오고 다른 문법 좀 나오다 예제가 나온 상황이라 더욱 아이러니 말도안돼


ReadKey를 바로 숫자형으로 변환하려하면 이상한 숫자가 되어 나옵니다.

예를 들어 5를 입력받고 바로 정수형으로 변환하면 53이 됩니다.


ConsoleKeyInfo key = Console.ReadKey();


1. 바로 정수형으로 변환

int x = Convert.ToInt32(key.Key);    //오류


2. char로 받고 정수형으로 변환

char i = Convert.ToChar(key.Key);

int x = Convert.ToInt32(i);            //마찬가지로 오류


3. char로 받고 string으로 바꾸고 정수형으로 변환

char i = Convert.ToChar(key.Key);

string k = Convert.ToString(i);

int x = Convert.ToInt32(k);            //OK


정말 어렵습니다. 

검색하다보니 3번에서 쓰인 라인들은 이렇게도 줄일 수 있습니다.

int x = int.Parse(key.KeyChar.ToString());




댓글