次の方法で共有


CA1809: ローカルを使用しすぎないでください

TypeName

AvoidExcessiveLocals

CheckId

CA1809

分類

Microsoft.Performance

互換性に影響する変更点

なし

原因

メンバーに含まれるローカル変数の数が 64 個を超えています。その一部はコンパイラにより生成されている可能性があります。

規則の説明

パフォーマンス最適化の一般的な方法として、メモリではなくプロセッサのレジスタに値を格納する方法があります。これは値のレジスタ格納と呼ばれます。共通言語ランタイムでは、最大 64 個のローカル変数をレジスタ格納することが想定されています。レジスタ格納されなかった変数は、スタックに配置されるため、操作を行う前にレジスタに移動する必要があります。すべてのローカル変数をレジスタ格納できるようにするには、ローカル変数の数を 64 個に制限します。

違反の修正方法

この規則の違反を修正するには、64 個を超えるローカル変数を使用しないように実装をリファクタリングします。

警告を抑制する状況

パフォーマンスに問題がない場合は、この規則による警告を抑制したり、規則を無効にしたりしても安全です。

関連規則

CA1804: 使用されていないローカルを削除します