Compartilhar via


Usar correspondência de padrões (operador not) (IDE0083)

Propriedade Valor
ID da regra IDE0083
Título Usar padrões correspondentes (operador not)
Categoria Estilo
Subcategoria Regras de linguagem (preferências de padrões correspondentes)
Linguagens aplicáveis C# 9.0+
Opções csharp_style_prefer_not_pattern

Visão geral

Esta regra de estilo diz respeito ao uso do not padrão do C# 9.0, quando possível.

Opções

As opções especificam o comportamento que você quer que a regra imponha. Para obter informações sobre como configurar as opções, consulte Formato da opção.

csharp_style_prefer_not_pattern

Propriedade Valor Descrição
Nome da opção csharp_style_prefer_not_pattern
Valores da opção true Prefira usar o padrão not, quando possível
false Prefira não usar o padrão not.
Valor da opção padrão true

Observação

Quando a opção é definida como false, o analisador não sinaliza usos do padrão not. No entanto, nenhum código gerado usará o padrão not. Quando a opção é definida como true, o código que não usa o padrão not é sinalizado e qualquer código gerado usa o padrão not quando aplicável.

Os exemplos a seguir mostram como o código seria gerado por recursos de geração de código quando a opção fosse definida como true ou false.

// csharp_style_prefer_not_pattern = true
var y = o is not C c;

// csharp_style_prefer_not_pattern = false
var y = !(o is C c);

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 IDE0083
// The code that's violating the rule is on this line.
#pragma warning restore IDE0083

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.IDE0083.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.

Confira também