次の方法で共有


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

TypeName

RemoveUnusedLocals

CheckId

CA1804

[カテゴリ]

Microsoft.Performance

互換性に影響する変更点

なし

原因

メソッドでローカル変数を宣言していますが、その変数を使用していません。ただし、代入ステートメントの受け取りとして使用されている可能性はあります。この規則違反を解析するには、テスト対象のアセンブリをデバッグ情報を含めてビルドします。また、関連するプログラム データベース (.pdb) ファイルを使用できるようにします。

規則の説明

使用されていないローカル変数や不要な引数があると、アセンブリのサイズが大きくなり、パフォーマンスが低下します。

違反の修正方法

この規則違反を修正するには、そのローカル変数を削除するか、使用します。.NET Framework 2.0 に同梱される C# コンパイラは、optimize オプションが有効である場合、このような未使用のローカル変数を削除します。

警告を抑制する状況

そのローカル変数がコンパイラで生成された場合は、この規則による警告を抑制します。また、パフォーマンスとコードの保守が重要ではない場合、この規則による警告を抑制するか、この規則を無効にしても安全です。

使用例

使用されていないローカル変数を次の例にいくつか示します。

Imports System
Imports System.Windows.Forms

Namespace PerformanceLibrary

   Public Class UnusedLocals

      Sub SomeMethod()

         Dim unusedInteger As Integer
         Dim unusedString As String = "hello"
         Dim unusedArray As String() = Environment.GetLogicalDrives()
         Dim unusedButton As New Button()

      End Sub

   End Class

End Namespace
using System;
using System.Windows.Forms;

namespace PerformanceLibrary
{
   public class UnusedLocals
   {
      public void SomeMethod()
      {
         int unusedInteger;
         string unusedString = "hello";
         string[] unusedArray = Environment.GetLogicalDrives();
         Button unusedButton = new Button();
      }
   }
}

関連規則

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

CA1811: 呼び出されていないプライベート コードを使用しません

CA1812: インスタンス化されていない内部クラスを使用しないでください

CA1801: 使用されていないパラメーターを再確認します