Remover valor de expressão desnecessária (IDE0058)
Propriedade | Valor |
---|---|
ID da regra | IDE0058 |
Título | Remover valor de expressão desnecessária |
Categoria | Estilo |
Subcategoria | Regras de linguagem (preferências no nível de expressão) |
Linguagens 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 ações a seguir para corrigir essa violação:
Se a expressão não tiver efeitos colaterais, remova a instrução inteira. Isso melhora o desempenho evitando 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:
- C# - csharp_style_unused_value_expression_statement_preference
- Visual Basic - visual_basic_style_unused_value_expression_statement_preference
Para obter informações sobre como configurar as opções, consulte Formato da opção.
csharp_style_unused_value_expression_statement_preference
Propriedade | Valor | Descrição |
---|---|---|
Nome da opção | csharp_style_unused_value_expression_statement_preference | |
Linguagens aplicáveis | C# | |
Valores da opção | 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 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");
visual_basic_style_unused_value_expression_statement_preference
Propriedade | Valor | Descrição |
---|---|---|
Nome da opção | visual_basic_style_unused_value_expression_statement_preference | |
Linguagens aplicáveis | Visual Basic | |
Valores da opção | unused_local_variable |
Preferir 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 violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite 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 em um arquivo, uma pasta ou um projeto, defina a 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
como none
no arquivo de configuração.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Para obter mais informações, confira Como suprimir avisos de análise de código.