#47: 2022-01-13 やったこと

  • 昨日に続いて C#スクレイピングの処理を書いていました。
  • async/await の書き方で少しハマりましたが、何とかなりました。
var resultLines = sourceLines.Select(async x =>  
{  
 var mailAddress = x.Split('\t')[1];  
 var checkResult = await CheckMailAddressAsync(mailAddress);  
 return string.Join('\t', x, checkResult);  
}).ToArray();

これで resultLines の型は Task<string>[] になって、使うときにどうしたらいいのか悩みました。

ひとまず以下のようにして Task.WhenAll で全ての処理が完了するのを待って、await でそれを待つ(?)という形で書けば大丈夫でした。

await Task.WhenAll(resultLines))
  • kekyo さんの記事を読み直そうと思います。

  • それにしても優秀な IDE が支援してくれるので、楽しくプログラムを書くことができていてありがたい限りですね。

  • C#/F# を使って、いろいろな処理を書けるようになりたいです。