CA1804:移除未使用的局部变量
类型名 |
RemoveUnusedLocals |
CheckId |
CA1804 |
类别 |
Microsoft.Performance |
是否重大更改 |
非重大更改 |
原因
某方法声明一个局部变量,但除了将该变量作为赋值语句的接收者之外,并不使用该变量。 要通过该规则进行分析,必须使用调试信息生成被测试的程序集,并且关联的程序数据库 (.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();
}
}
}