Partager via


Utiliser des critères spéciaux (IDE0078 et IDE0260)

Cet article décrit deux règles connexes, IDE0078 et IDE0260.

Propriété Valeur
Identificateur de la règle IDE0078
Titre Utiliser les critères spéciaux
Catégorie Style
sous-catégorie Règles de langage (préférences de correspondance de modèle)
langues applicables C# 9.0+
Options csharp_style_prefer_pattern_matching
Propriété Valeur
Identificateur de la règle IDE0260
Titre Utiliser les critères spéciaux
Catégorie Style
sous-catégorie Règles de langage (préférences de correspondance de modèle)
langues applicables C#
Options csharp_style_pattern_matching_over_as_with_null_check

Aperçu

Cette règle de style concerne l’utilisation de constructions de critères spéciaux C#.

IDE0260 signale spécifiquement l’utilisation d’une expression as suivie d’un membre lue via l’opérateur conditionnel null. Cette règle est similaire à IDE0019, qui signale l’utilisation d’une expression as suivie d’une vérification null.

Options

Les options spécifient le comportement que vous souhaitez que la règle impose. Pour plus d’informations sur la configuration des options, consultez Option format.

csharp_style_prefer_pattern_matching (IDE0078)

Propriété Valeur Description
nom de l’option csharp_style_prefer_pattern_matching
Valeurs d’option true Préférez utiliser des structures de correspondance de motifs, lorsque cela est possible
false Préférez ne pas utiliser de constructions de critères spéciaux.
valeur d’option par défaut true

csharp_style_pattern_matching_over_as_with_null_check (IDE0260)

Cette option configure également la règle IDE0019.

Propriété Valeur Description
nom de l’option csharp_style_pattern_matching_over_as_with_null_check
Valeurs d’option true Préférez les critères spéciaux par rapport à une expression as avec un accès membre conditionnel null.
false Il désactive la règle.
valeur d’option par défaut true

Exemples

IDE0078

// csharp_style_prefer_pattern_matching = true
var x = i is default(int) or > (default(int));
var y = o is not C c;

// csharp_style_prefer_pattern_matching = false
var x = i == default || i > default(int);
var y = !(o is C c);

IDE0260

// Code with violations.
object? o = null;
if ((o as string)?.Length == 0)
{
}

// Fixed code (csharp_style_pattern_matching_over_as_with_null_check = true).
object? o = null;
if (o is string { Length: 0 })
{
}

Supprimer un avertissement

Si vous souhaitez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactivez la règle.

#pragma warning disable IDE0078 // or IDE0260
// The code that's violating the rule is on this line.
#pragma warning restore IDE0078 // or IDE0260

Pour désactiver la règle d’un fichier, d’un dossier ou d’un projet, définissez sa gravité sur none dans le fichier de configuration .

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

Pour désactiver toutes les règles de style de code, définissez la gravité de la catégorie Style sur none dans le fichier de configuration .

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

Pour plus d’informations, consultez Comment supprimer les avertissements d’analyse du code.

Voir aussi