C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

あるループ処理の1ループ終了時に別の処理の値を取得したい

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■95027 / inTopicNo.1)  あるループ処理の1ループ終了時に別の処理の値を取得したい
  
□投稿者/ marusa (6回)-(2020/06/15(Mon) 16:14:09)

分類:[.NET 全般] 

お世話になっております。

C# .NET4.6.1を使用して開発しております。

無限ループにおいてある処理(処理A)を実行し、
 処理中に終了命令(コンソールからの入力)があった場合1ループの終了時に無限ループを終了する、
 入力がなかった場合はループを継続する、
のような処理を実装しようとしております。

無限ループの中に以下のようなTaskクラスのアクションを定義して試してみたのですが、
望んだ結果にはならず処理A中に終了命令を入力してもそのまま処理が実行されてしまいました。

while(true){
..Task isEnd = Task.Run(() => Console.ReadLine().Equals(COMMAND_END));
../*
....処理A
..*/
..if(isEnd.Wait(TimeSpan.FromMilliseconds(100))) break;
}

非同期処理自体の理解が足りておらず頓珍漢な質問でしたら申し訳ございません。
何か良い手段、もしくは調べ方についてご教授いただけると幸いです。

よろしくお願いいたします。
引用返信 編集キー/
■95028 / inTopicNo.2)  Re[1]: あるループ処理の1ループ終了時に別の処理の値を取得したい
□投稿者/ 774RR (792回)-(2020/06/15(Mon) 16:24:19)
非同期処理を使わず System.Console.KeyAvailable を使えば簡単だろうと思うっす。

引用返信 編集キー/
■95030 / inTopicNo.3)  Re[2]: あるループ処理の1ループ終了時に別の処理の値を取得したい
□投稿者/ marusa (8回)-(2020/06/15(Mon) 16:51:40)
No95028 (774RR さん) に返信
> 非同期処理を使わず System.Console.KeyAvailable を使えば簡単だろうと思うっす。
>
ご回答ありがとうございました。自己解決いたしました。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ