CA1804:必須移除未使用的區域變數
型別名稱 |
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();
}
}
}