Partilhar via


Remover valor de expressão desnecessário (IDE0058)

Propriedade Valor
ID da regra IDE0058
Título Remover valor de expressão desnecessário
Categoria Estilo
Subcategoria Regras de idioma (preferências no nível da expressão)
Idiomas aplicáveis C# e Visual Basic
Opções csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference

Visão geral

Esta regra sinaliza valores de expressão não utilizados. Por exemplo:

void M()
{
  Compute(); // IDE0058: computed value is never used.
}

int Compute();

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

  • Se a expressão não tiver efeitos secundários, remova a instrução inteira. Isso melhora o desempenho, evitando cálculos desnecessários.

  • Se a expressão tiver efeitos secundários, substitua o lado esquerdo da atribuição por um de descarte (somente C#) ou uma variável local que nunca seja usada. Isso melhora a clareza do código, mostrando explicitamente a intenção de descartar um valor não utilizado.

    _ = Compute();
    

Opções

As opções para isso especificam se prefere usar um descarte ou 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_expression_statement_preference (preferência para a expressão de valor não utilizado em declarações)

Propriedade Valor Descrição
Nome da opção csharp_style_unused_value_expression_statement_preference
Idiomas aplicáveis C#
Valores de opção discard_variable Preferir atribuir uma expressão não utilizada a um descarte
unused_local_variable Prefira atribuir uma expressão não utilizada a uma variável local que nunca é usada
Valor da opção padrão discard_variable
// Original code:
System.Convert.ToInt32("35");

// After code fix for IDE0058:

// csharp_style_unused_value_expression_statement_preference = discard_variable
_ = System.Convert.ToInt32("35");

// csharp_style_unused_value_expression_statement_preference = unused_local_variable
var unused = Convert.ToInt32("35");

estilo_de_visual_basic_expressão_de_valor_não_usada_preferência_de_instrução

Propriedade Valor Descrição
Nome da opção visual_basic_style_unused_value_expression_statement_preference
Idiomas aplicáveis Visual Basic
Valores de opção unused_local_variable Prefira atribuir uma expressão não utilizada a uma variável local que nunca é usada
Valor da opção padrão unused_local_variable
' visual_basic_style_unused_value_expression_statement_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 IDE0058
// The code that's violating the rule is on this line.
#pragma warning restore IDE0058

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

[*.{cs,vb}]
dotnet_diagnostic.IDE0058.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.

Ver também