반응형
✅ ConsoleKey란?
ConsoleKey는 C#에서 키보드의 실제 키를 표현하기 위한 **열거형(enum)**이야.
예를 들어, 키보드의 화살표 키, Enter, A, B, 숫자 1~9, ESC 등은
모두 ConsoleKey의 값으로 표현할 수 있어.
✅ 사용 예시
ConsoleKeyInfo keyInfo = Console.ReadKey(true);
ConsoleKey key = keyInfo.Key;
if (key == ConsoleKey.LeftArrow)
{
Console.WriteLine("왼쪽으로 이동");
}
- Console.ReadKey() → 사용자가 누른 키를 읽음
- .Key → 어떤 키인지 ConsoleKey로 반환
- ConsoleKey.LeftArrow → 키보드 왼쪽 화살표
✅ 자주 사용하는 ConsoleKey 값
키보드 키 | ConsoleKey값 |
↑ 위 화살표 | ConsoleKey.UpArrow |
↓ 아래 화살표 | ConsoleKey.DownArrow |
← 왼쪽 화살표 | ConsoleKey.LeftArrow |
→ 오른쪽 화살표 | ConsoleKey.RightArrow |
ESC 키 | ConsoleKey.Escape |
엔터 | ConsoleKey.Enter |
스페이스바 | ConsoleKey.Spacebar |
알파벳 A | ConsoleKey.A |
숫자 1 | ConsoleKey.D1 |
숫자 0 | ConsoleKey.D0 |
숫자 키는 D1, D2, ..., D9, D0이고
키패드 숫자는 NumPad1, NumPad2, ... 로 구분됨
✅ 실제 예제: 방향키 컨트롤
while (true)
{
ConsoleKeyInfo keyInfo = Console.ReadKey(true);
ConsoleKey key = keyInfo.Key;
switch (key)
{
case ConsoleKey.UpArrow:
Console.WriteLine("위");
break;
case ConsoleKey.DownArrow:
Console.WriteLine("아래");
break;
case ConsoleKey.LeftArrow:
Console.WriteLine("왼쪽");
break;
case ConsoleKey.RightArrow:
Console.WriteLine("오른쪽");
break;
case ConsoleKey.Escape:
Console.WriteLine("종료!");
return;
}
}
✅ 응용: ConsoleKey를 조건 비교에 쓰기
if (key == ConsoleKey.W || key == ConsoleKey.UpArrow)
{
Console.WriteLine("위로 이동 (W or ↑)");
}
→ WASD 키와 화살표 키를 함께 인식할 수도 있어!
🎯 요약
특징 | 설명 |
타입 | enum (열거형) |
용도 | 어떤 키가 눌렸는지 판단 |
주요 메서드 | Console.ReadKey().Key |
대표 값 | UpArrow, Enter, Escape, A, D1, Spacebar 등 |
✅
이번에 스네이크 게임을 만들면서 알게된 내용이다.
유니티에서 만들때나 키보드 입력값 많이 써봤지 C# 콘솔에서도 키보드 입력값이 들어갈 줄 몰랐다 ㅎㅎ..
아직도 공부할게 산더미 인듯 하다 열심히하자아ㅏ!!!
반응형
'C#' 카테고리의 다른 글
C# - 스택 프레임이란? (Stack Frame) vs 스택(Stack) (3) | 2025.07.08 |
---|---|
C# - List(tuple) vs Dictionary (5) | 2025.07.08 |
C# - Tuple(튜플) vs Struct(구조체) (0) | 2025.07.08 |
C# - Console SnakeGame(콘솔 스네이크 게임) + 활용 예제 (1) | 2025.07.08 |
C# - 고급 문법 정복하기 (제너릭, ref/out) (0) | 2025.07.07 |