如何在C#控制台应用程序中跟踪用户输入?

时间:2017-08-27 09:29:40

标签: c# console-application user-input

我正在使用C#制作控制台游戏。我希望我的程序在用户点击箭头键时执行一段代码。虽然这听起来很简单,但我不知道如何做到这一点,因为我是C#的新手。

PS我正在为VS for Mac工作。

编辑1:我想跟踪用户输入意味着当程序正在监听用户输入时,我不希望它停止其他任务。

1 个答案:

答案 0 :(得分:1)

您的GameLogic应该在无限循环中以单独的线程运行。 您可以通过在主线程上的while(true)循环无限循环中侦听Console.ReadKey()来跟踪。每次按下一个键,你都可以抛出一个由你的其他线程处理的事件。

要开始新的主题,请查看:How do I run a simple bit of code in a new thread?

一个干净的方法是创建一个拥有私有线程的GameLogicWorker(我认为最干净的方法) 这个回答说明了如何做到这一点:https://stackoverflow.com/a/8123600/4992212

但有几种选择。您还可以使用async和await关键字来实现异步操作。