Partilhar via


Remover atribuição de valor desnecessária (IDE0059)

Propriedade Valor
ID da regra IDE0059
Título Remover atribuição de valor desnecessária
Categoria Estilo
Subcategoria Regras de código desnecessárias (preferências no nível da expressão)
Idiomas aplicáveis C# e Visual Basic
Opções csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference

Visão geral

Esta regra sinaliza atribuições de valor desnecessárias. Por exemplo:

// IDE0059: value written to 'v' is never
// read, so assignment to 'v' is unnecessary.
int v = Compute();
v = Compute2();

Você pode executar uma das seguintes ações para corrigir essa violação:

  • Se a expressão no lado direito da atribuição não tiver efeitos secundários, remova a expressão ou toda a instrução de atribuição. Isso melhora o desempenho, evitando cálculos desnecessários.

    int v = Compute2();
    
  • Se a expressão no lado direito da atribuição tiver efeitos secundários, substitua o lado esquerdo da atribuição por um descartar (somente C#) ou uma variável local que nunca seja usada. Os descartes melhoram a clareza do código mostrando explicitamente a intenção de descartar um valor não utilizado.

    _ = Compute();
    int v = Compute2();
    

Opções

As opções para isso especificam se deve preferir o uso de um descarte ou de uma variável local não utilizada:

Para obter informações sobre como configurar opções, consulte Formato de opção.

csharp_style_unused_value_assignment_preference

Propriedade Valor Descrição
Nome da opção Preferência para atribuição de valor não usado no estilo Csharp
Idiomas aplicáveis C#
Valores de opção discard_variable Prefira usar um descarte ao atribuir um valor que não é usado
unused_local_variable Prefira usar uma variável local ao atribuir um valor que não é usado
Valor da opção padrão discard_variable
// csharp_style_unused_value_assignment_preference = discard_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    _ = wordCount.TryGetValue(searchWord, out var count);
    return count;
}

// csharp_style_unused_value_assignment_preference = unused_local_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    var unused = wordCount.TryGetValue(searchWord, out var count);
    return count;
}

visual_basic_estilo_atribuição_de_valor_não_utilizado_preferência

Propriedade Valor Descrição
Nome da opção visual_basic_style_unused_value_assignment_preference
Idiomas aplicáveis Visual Basic
Valores de opção unused_local_variable Prefira usar uma variável local ao atribuir um valor que não é usado
Valor da opção padrão unused_local_variable
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()

Suprimir um aviso

Se você quiser suprimir apenas uma única violação, adicione diretivas de pré-processador ao arquivo de origem para desativar e, em seguida, reativar a regra.

#pragma warning disable IDE0059
// The code that's violating the rule is on this line.
#pragma warning restore IDE0059

Para desabilitar a regra para um arquivo, pasta ou projeto, defina sua gravidade como none no arquivo de configuração .

[*.{cs,vb}]
dotnet_diagnostic.IDE0059.severity = none

Para desabilitar todas as regras de estilo de código, defina a severidade da categoria Style como none no arquivo de configuração .

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Para obter mais informações, consulte Como suprimir avisos de análise de código.

Propriedade Valor
ID da regra IDE0059
Título O valor não é utilizado
Categoria Estilo
Idiomas aplicáveis F#
Opções Nenhum

Visão geral

Esta regra sinaliza atribuições de valor desnecessárias. Por exemplo, answer não é usado no seguinte trecho:

type T() =
    let answer = 42

Ver também