-3
このコンソールベースのアプリケーションを作成する必要があります。この問題があります。 マルチスレッドを使用してKeyListenerのようなものを作成しました(2番目のスレッドが実行されているため同時に)。 スレッド内のループは、押されたキーが整数かどうかをチェックする必要があります。マルチスレッドを使用したコンソールアプリケーションのキーリスナー
私は理解していないことは何ですか?
私がこれを得る方法:入力をキャプチャしようとするスレッド内に無限ループがあり、input == 1
がコンソールにテキストを書き込む場合です。 私は何が欠けていますか?
static void KeyRead()
{
do
{
int i = (int) Console.ReadKey().KeyChar;
if (i == 1) {
Console.Out.Write("Key 1 pressed");
}
} while (true);
}
static void Main(string[] args)
{
Thread keyListner = new Thread(new ThreadStart(KeyRead));
keyListner.Start();
}
_「わからないのですか」_ - あなたの質問は何ですか?あなたがしたくないコードは何ですか?あなたは修正する方法を理解できません。 –
基本的に何もしません。それが問題です。 「if」ステートメントがなかったのと同じです。 if文の後にコードを実行させるにはどうすればよいですか? 私はアプリケーションを起動し、 "1"を押しますが、 "Key 1 pressed"と書いても何も起こりません。 – mafiozorek
あなたのプログラムはスレッドなしでも動作しません。 http://stackoverflow.com/questions/28955029/how-do-i-convert-a-console-readkey-to-an-int-c-sharp –