共用方式為


移除未使用的區域變數

更新:2007 年 11 月

型別名稱

RemoveUnusedLocals

CheckId

CA1804

分類

Microsoft.Performance

中斷變更

非中斷

原因

方法會宣告區域變數,但除了可能會做為指派陳述式 (Assignment Statement) 的收件者之外,並未使用該變數。如果要以此規則進行分析,則測試的組件 (Assembly) 必須建有偵錯資訊,而且還可以使用相關的程式資料庫 (.pdb) 檔案。

規則描述

未使用的區域變數和不必要的設定會增加組件的大小並降低效能。

如何修正違規

若要修正此規則的違規情形,請移除或使用區域變數。請注意,當 optimize 選項啟用時,.NET Framework 2.0 中隨附的 C# 編譯器會移除未使用的區域變數。

隱藏警告的時機

如果變數是由編譯器發出,請隱藏這項規則的警告。如果效能和程式碼維護不是主要考量,則您可以放心地隱藏此規則的警告或停用整個規則。

範例

在下列範例中,程式碼會顯示多個未使用的區域變數。

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();
      }
   }
}

相關規則

避免使用過多區域變數

避免使用未呼叫的私用程式碼

避免使用未執行個體化的內部類別

請檢查未使用的參數