JetBrains Rider 2026.1 Help

コードインスペクション:foreach ループの一部は LINQ 式に変換できますが、別の 'GetEnumerator' メソッドが使用されます

このインスペクションは、 foreach ループの本体が部分的にのみ LINQ スタイルのシーケンス操作に変換でき、その際、元のループとは異なる GetEnumerator メソッドが使用されることを報告します。 この警告は、ループ全体をクエリに変換する警告よりも慎重です。なぜなら、ループの一部しか書き換えられないためです。

サンプル

foreach (var item in source) { if (item.IsVisible) yield return item; Log(item); }
foreach (var item in source.Where(item => item.IsVisible)) { yield return item; Log(item); }

クイックフィックス

ループ本体のうち変換可能な部分をクエリ操作に変換し、ループの残りの部分は明示的なままにします。

2026 年 6 月 12 日