私はc#async awaitの基本的な概念を理解するのに苦労しています。Async Foreach Loopを実行するC#asyncを待つ
基本的には、処理する必要があるオブジェクトのリストです。処理には、プロパティと文字列を繰り返してから、新しいオブジェクト(この場合はtrellocard)を作成し、最終的にトレコカード。
これは繰り返し時間がかかるため、非同期で複数のオブジェクトを処理したいと考えています。
私は複数のアプローチを試みましたが、基本的にはこのようなことをしたいと思います。 (以下の例では、処理を取り除き、system.threading.thread.sleep(200)を置いています。これは非同期メソッドではなく、tasks.delayを使用することができますが、私は複数のインスタンスで全体の方法を実行したい、すべての非同期メソッドを持っています。
private async Task<List<TrelloCard>> ProcessJobs(IQueryable<IGrouping<CardGrouping, Job>> jobs)
{
List<TrelloCard> cards = new List<TrelloCard>();
foreach (var job in jobs.ToList())
{
card = await ProcessCards(job, cards); // I would like to run multiple instances of the processing
cards.add(card); //Once each instance is finshed it adds it to the list
}
private async Task<TrelloCard> ProcessCards(Job job)
{
System.Threading.Thread.Sleep(2000); //Just for examples sake
return new TrelloCard();
}
ありがとうございました!驚くべきことに、ウェブの周りを見ていて、最初の3行が私に電球の瞬間を与えました。それは今私にとってははるかに理にかなっています。 – michael
ようこそ、Webシナリオでは、Ajax呼び出しのようなもので、微妙な違いがあります.Net固有のものです。 –
説明するための有権者の説明をお願いします –