다음을 통해 공유


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: 사용되지 않은 매개 변수를 검토하십시오.