Compartilhar via


Remover o valor da expressão desnecessária (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

Essa 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 colaterais, remova a instrução inteira. Isso melhora o desempenho evitando a computação desnecessária.

  • Se a expressão no lado direito da atribuição tiver efeitos colaterais, substitua o lado esquerdo da atribuição por um discard (somente C#) ou uma variável local que nunca tenha sido 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 discard 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

Propriedade Valor Descrição
nome da opção csharp_style_unused_value_expression_statement_preference
idiomas aplicáveis C#
Valores das opções discard_variable Preferir atribuir uma expressão não utilizada a um descarte
unused_local_variable Preferir atribuir uma expressão não utilizada a uma variável local que nunca é usada
valor de 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");

visual_basic_style_unused_value_expression_statement_preference

Propriedade Valor Descrição
nome da opção visual_basic_style_unused_value_expression_statement_preference
idiomas aplicáveis Visual Basic
Valores das opções unused_local_variable Preferir atribuir uma expressão não utilizada a uma variável local que nunca é usada
valor de 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 desabilitar e depois habilitar novamente 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 de um arquivo, pasta ou projeto, defina sua severidade 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 para 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.

Consulte também