CA1804: Quitar variables locales no utilizadasCA1804: Remove unused locals

TypeNameTypeName RemoveUnusedLocalsRemoveUnusedLocals
Identificador de comprobaciónCheckId CA1804CA1804
CategoríaCategory Microsoft.PerformanceMicrosoft.Performance
Cambio problemáticoBreaking Change Poco problemáticoNon-breaking

MotivoCause

Un método declara una variable local pero no utiliza la variable excepto posiblemente como destinatario de una instrucción de asignación.A method declares a local variable but does not use the variable except possibly as the recipient of an assignment statement. Para el análisis por esta regla, el ensamblado probado debe compilarse con información de depuración y el archivo de programa asociado (.pdb) de la base de datos debe estar disponible.For analysis by this rule, the tested assembly must be built with debugging information and the associated program database (.pdb) file must be available.

Descripción de la reglaRule description

Las variables locales no usadas y las asignaciones innecesarias aumentan el tamaño de un ensamblado y reducen el rendimiento.Unused local variables and unnecessary assignments increase the size of an assembly and decrease performance.

Cómo corregir infraccionesHow to fix violations

Para corregir una infracción de esta regla, quite o use la variable local.To fix a violation of this rule, remove or use the local variable. Tenga en cuenta que el compilador de C# que se incluye con .NET Framework 2.0.NET Framework 2.0 quita sin usar las variables locales cuando el optimize está habilitada.Note that the C# compiler that is included with .NET Framework 2.0.NET Framework 2.0 removes unused local variables when the optimize option is enabled.

Cuándo Suprimir advertenciasWhen to suppress warnings

Suprima una advertencia de esta regla si la variable generó el compilador.Suppress a warning from this rule if the variable was compiler emitted. También es seguro suprimir una advertencia de esta regla, o para deshabilitar la regla, si el rendimiento y mantenimiento del código no son principales preocupaciones.It is also safe to suppress a warning from this rule, or to disable the rule, if performance and code maintenance are not primary concerns.

EjemploExample

El ejemplo siguiente muestra varias variables locales no usadas.The following example shows several unused local variables.

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: Evitar variables locales excesivasCA1809: Avoid excessive locals

CA1811: Evitar código privado al que no se llamaCA1811: Avoid uncalled private code

CA1812: Evitar las clases internas sin instanciaCA1812: Avoid uninstantiated internal classes

CA1801: Revisar parámetros sin utilizarCA1801: Review unused parameters