コード検査: ループは LINQ 式に変換できます
ReSharper が for ループで IEnumerable を反復処理していると判断すると、このループを LINQ 式に変換することができます。例: 次のコード:
自動的に
ReSharper は通常、ループ内で定義されている演算をどの LINQ 演算子が表現できるかを識別するのに優れています。例: 上記のループに c += numbers[i] があった場合、ReSharper は numbers.Sum() への式を減らします。
しかし、このアプローチの利点は何ですか? 1 つは、反復変数に関連する記録管理を行う必要がないことです(例外は、反復変数が本当に必要な場合です)。その上に、すべての LINQ 固有の利点(英語)があります。たとえば、コレクション名の直後に .AsParallel() メソッド呼び出しを追加するだけで、並列化の使用を要求できます。これにより、PLINQ(Parallel LINQ)を使用するようランタイムに指示し、計算を高速化できます。
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...
コンテキストアクション
コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変更、null をチェックするコードの生成、'foreach' の 'for' への変換などの小さな変更をすばやく導入できます。ReSharper は、サポートされているすべての言語で数百のコンテキストアクションを提供します。完全なリストは、ReSharper オプション Alt+R, O のページとコ...
コード検査: ローカル変数がメンバーを隠す
フィールドと同じ名前のローカル変数を持つと、メンバーフィールドが効果的に隠されます。次に例を示します。class Person { string name; void DoSomething() { string name =