Remover a atribuição de valor desnecessária (IDE0059)
Propriedade | 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) |
Linguagens aplicáveis | C# e Visual Basic |
Opções | csharp_style_unused_value_assignment_preference |
visual_basic_style_unused_value_assignment_preference |
Visão geral
Essa regra sinaliza as 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 ações a seguir para corrigir essa violação:
Se a expressão do lado direito da atribuição não tiver efeitos colaterais, remova a expressão ou a instrução de atribuição inteira. Isso melhora o desempenho evitando computação desnecessária.
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 discard (somente C#) ou uma variável local que nunca foi usada. Descarta melhorar 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 prefere usar um discard ou 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 as opções, consulte Formato da opção.
csharp_style_unused_value_assignment_preference
Propriedade | Valor | Descrição |
---|---|---|
Nome da opção | csharp_style_unused_value_assignment_preference | |
Linguagens aplicáveis | C# | |
Valores da opção | discard_variable |
Preferir usar um discard ao atribuir um valor que não é utilizado |
unused_local_variable |
Prefira usar uma variável local ao atribuir um valor não utilizado | |
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
Propriedade | Valor | Descrição |
---|---|---|
Nome da opção | visual_basic_style_unused_value_assignment_preference | |
Linguagens aplicáveis | Visual Basic | |
Valores da opção | unused_local_variable |
Prefira usar uma variável local ao atribuir um valor não utilizado |
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 violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite 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 em um arquivo, uma pasta ou um projeto, defina a 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 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.
Propriedade | Valor |
---|---|
ID da regra | IDE0059 |
Título | O valor não é utilizado |
Categoria | Estilo |
Linguagens aplicáveis | F# |
Opções | Nenhum |
Visão geral
Essa regra sinaliza as atribuições de valor desnecessárias. Por exemplo, answer
não é usado no snippet a seguir:
type T() =
let answer = 42