Remover atribuição de valor desnecessária (IDE0059)
Property | 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) |
Línguas aplicáveis | C# e Visual Basic |
Opções | csharp_style_unused_value_assignment_preference |
visual_basic_style_unused_value_assignment_preference |
Descriçã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 colaterais, 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 colaterais, substitua o lado esquerdo da atribuição por um descarte (somente C#) ou uma variável local que nunca é 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:
- C# - csharp_style_unused_value_assignment_preference
- Visual Basic - visual_basic_style_unused_value_assignment_preference
Para obter informações sobre como configurar opções, consulte Formato de opção.
csharp_style_unused_value_assignment_preference
Property | valor | Description |
---|---|---|
Nome da opção | csharp_style_unused_value_assignment_preference | |
Línguas 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_style_unused_value_assignment_preference
Property | valor | Description |
---|---|---|
Nome da opção | visual_basic_style_unused_value_assignment_preference | |
Línguas 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 severidade 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 gravidade 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.
Property | valor |
---|---|
ID da regra | IDE0059 |
Título | O valor não é utilizado |
Categoria | Estilo |
Línguas aplicáveis | F# |
Opções | None |
Descriçã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