JetBrains Rider 2026.1 Help

コードインスペクション: 'await foreach' を使わずに非同期反復子を呼び出し

このインスペクションは、結果が無視される非同期イテレータの呼び出しを報告します。 非同期イテレータメソッドを呼び出しても、多くの開発者が期待するような方法では実行されません。 結果を利用するには、通常は await foreach を使用して結果を反復処理する必要があります。

サンプル

using System.Collections.Generic; class C { public void Print() { ProduceAsync(); } public async IAsyncEnumerable<int> ProduceAsync() { yield return 42; } }
using System.Collections.Generic; using System.Threading.Tasks; class C { public async Task Print() { await foreach (var item in ProduceAsync()) item; } public async IAsyncEnumerable<int> ProduceAsync() { yield return 42; } }

クイックフィックス

応急処置として、呼び出しを await foreach に書き換え、必要に応じて包含メソッドを非同期化することができます。 その後、イテレータが実際に消費されます。

2026 年 6 月 12 日