如何跟踪C#控制台应用程序中的用户输入?
问题描述:
我正在使用C#制作游戏机游戏。我希望我的程序在用户点击箭头键时执行一段代码。虽然这听起来很容易,但我不知道该怎么做,因为我对C#很陌生。如何跟踪C#控制台应用程序中的用户输入?
PS我正在VS for mac。
编辑1:我想跟踪用户输入意味着我不希望它在程序监听用户输入时停止其他任务。
答
你的GameLogic应该在一个无限循环的独立线程中运行。 您可以通过在您的主线程中在while(true)循环无限循环中监听Console.ReadKey()来保持跟踪。每次按下某个键时,都可以抛出一个由其他线程处理的事件。
要开始一个新的线程来看看:How do I run a simple bit of code in a new thread?
一个干净的形式给出。将创造出拥有私人线程(在我看来,最干净的形式给出)一GameLogicWorker 此的answere展示了如何做到这一点: https://stackoverflow.com/a/8123600/4992212
但有几种选择。您还可以使用异步并等待关键字来实现异步操作。
好主意!我没有想过多线程。但是,你能告诉我如何在C#中执行多线程吗? –
编辑我的答案。第二个链接提供了一个例子,说明如何实现一个工人职业,你可以使用GameLogic –
非常感谢!这完全解决了我的问题!该网站现在不允许我接受你的答案。我会稍后再做。 –