Share 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 linguagem (preferências ao 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

Descriçã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();

Pode efetuar uma das seguintes ações para corrigir esta violação:

  • Se a expressão não tiver efeitos colaterais, remova toda a instrução. Isto melhora o desempenho ao evitar cálculos desnecessários.

  • Se a expressão tiver efeitos colaterais, substitua o lado esquerdo da atribuição por uma eliminação (apenas C#) ou uma variável local que nunca é utilizada. Isto melhora a clareza do código ao mostrar explicitamente a intenção de eliminar um valor não utilizado.

    _ = Compute();
    

Opções

As opções para tal especificam se prefere a utilização de uma variável local de eliminação ou não utilizada:

Para obter informações sobre como configurar opções, veja 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 de opção discard_variable Preferir atribuir uma expressão não utilizada a uma eliminação
unused_local_variable Preferir atribuir uma expressão não utilizada a uma variável local que nunca foi utilizada
Valor de opção predefinido 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 de opção unused_local_variable Preferir atribuir uma expressão não utilizada a uma variável local que nunca foi utilizada
Valor de opção predefinido unused_local_variable
' visual_basic_style_unused_value_expression_statement_preference = unused_local_variable
Dim unused = Computation()

Suprimir um aviso

Se quiser suprimir apenas uma única violação, adicione diretivas de pré-processamento ao ficheiro 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 desativar a regra para um ficheiro, pasta ou projeto, defina a sua gravidade como none no ficheiro de configuração.

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

Para desativar todas as regras de estilo de código, defina a gravidade da categoria Style como none no ficheiro de configuração.

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

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

Ver também