JetBrains Rider 2026.1 Help

LINQ 式のデバッグ

C# で LINQ 式を操作する場合、クエリの各ステップでデータがどのように変換されるかを明確に表示しながら、JetBrains Rider を使用して視覚的にデバッグできます。

次の例を考えてみましょう。

using System; using System.Linq; class PrimeFinder { public static void Find() { int skip = 0; int limit = 100; var result = Enumerable.Range(1, int.MaxValue) .Skip(skip) .Take(limit) .Where(IsPrime) .ToList(); foreach (var prime in result) { Console.WriteLine(prime); } } private static bool IsPrime(int candidate) { return candidate == 91 || // Bug here Enumerable.Range(2, (int)Math.Sqrt(candidate)) .All(n => candidate % n != 0); } }

Rider LINQ デバッグ機能を使用して、LINQ 式を段階的に分析してみましょう。

  1. 次の行にブレークポイントを設定して、LINQ 式でプログラムの実行を一時停止します。

    var result = Enumerable.Range(1, int.MaxValue) // Breakpoint here .Skip(skip) .Take(limit) .Where(IsPrime) .ToList();
  2. ブレークポイントで実行が一時停止されると、LINQ 式の上に LINQ を探索する インレイヒントが表示されます。

    Rider の LINQ ヒントを調べる
  3. LINQ を探索する をクリックすると、LINQ ビジュアライザーが開きます。 Rider をクリックすると、LINQ チェーンの各ステップにおけるデータフローの詳細な内訳がダイアログに表示されます。

    Rider の LINQ 視覚化ポップアップ。
  4. この視覚化を使用して、各段階でデータがどのように変化するかを確認します。

    • 範囲: Enumerable.Range によって生成された初期シーケンス。

    • スキップ: Skip メソッドによってスキップされる項目の数。

    • テイク: Take によって選択された項目のサブセット。

    • Where:IsPrime メソッドに基づいてフィルターされた項目。

  5. 中間結果を一歩ずつ解析して問題を特定します。 例えば、このコードでは、数値 91 が結果に含まれており、これは IsPrime メソッドのエラーを示しています。

LINQ を探索する 機能は、複雑な LINQ クエリの変換を一目で視覚的に把握できるようにすることで、複雑な LINQ クエリのデバッグに特に役立ちます。

LINQ デバッガー プラグインを有効化

この機能は JetBrains Rider にバンドルされ、デフォルトで有効化されている LINQ デバッガープラグインに依存しています。 関連機能が利用できない場合は、プラグインを無効化していないことを確認してください。

  1. Ctrl+Alt+S を押して設定を開き、 プラグイン を選択します。

  2. インストール済み タブを開き、 LINQ デバッガープラグインを見つけ、プラグイン名の横にあるチェックボックスを選択します。

2026 年 6 月 12 日