-
콘솔에서 비동기 입력 받기(예로 추첨 프로그램)C# 2016. 4. 11. 16:24
콘솔에서 키 입력을 비동기 적으로 받는 코드입니다.
기본적인 코드는
1234Task.Factory.StartNew(() =>{Console.ReadKey()});cs 이런 형식인데 Console 클래스는 ReadKey()에서 ConsoleKeyInfo 구조체를 반환합니다.
ConsoleKeyInfo 의 Key 해당 구조체가 나타내는 키 값을 가져오는데 이는 ConsoleKey 에 매칭됩니다.
이를 바탕으로 추첨 프로그램을 만들 수 있습니다.
123456789101112131415161718192021222324252627class Program{static bool exit = false;static void Main(string[] args){Random rand = new Random((int)DateTime.Now.Ticks);int i = 0;// 비동기 입력Task.Factory.StartNew(() =>{while (Console.ReadKey().Key != ConsoleKey.Q) ;exit = true;});while (!exit){i = rand.Next(1, 100000);Console.WriteLine("{0}", i.ToString("D5")); // D5는 Decimal 5자리로 나타낸다는 뜻System.Threading.Thread.Sleep(50);Console.Clear();}Console.Clear();i = rand.Next(1, 4000); // 1 ~ 4000 중 임의의 수 반환Console.WriteLine("{0}", i.ToString("D5"));}}cs 'C#' 카테고리의 다른 글
C# 텍스트 파일 읽기 (한글 깨짐) (0) 2016.12.01 Visual Studio C# CS0051 오류 (0) 2016.05.17 C# 문자열과 16진수간 변환 (0) 2016.04.24 C#에서 엑셀파일 읽어오기(불러오기) (0) 2016.04.13 C# 정수형 자리수 맞추기 ( 앞에 0으로 채우기) (0) 2016.04.11