Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
CA2265 : Ne pas comparer
| Propriété | Valeur |
|---|---|
| Identificateur de la règle | CA2264 |
| Titre | Ne pas comparer Span<T> à null ou default |
| Catégorie | Utilisation |
| Le correctif a un effet disruptif ou non disruptif | Sans rupture |
| Activé par défaut dans .NET 10 | Comme avertissement |
| Langues applicables | C# et Visual Basic |
Cause
Une Span<T> instance est comparée à null ou default.
Description de la règle
Comparer une étendue à null ou default peut ne pas faire ce que vous avez prévu.
default et le null littéral sont implicitement convertis en Span<T>.Empty.
Comment corriger les violations
Supprimez la comparaison redondante ou rendez le code plus explicite en appelant IsEmpty à la place.
Exemple
L’extrait de code suivant montre deux violations de CA2265 et le correctif pour les violations.
Span<int> span = new([1, 2, 3]);
// CA2265 violation.
if (span == null) { }
// CA2265 violation.
if (span == default) { }
// Fixes the violation.
if (span.IsEmpty) { }
Quand supprimer les avertissements
Il est sûr de supprimer cet avertissement si vous voulez comparer l’étendue à l’étendue vide.
Supprimer un avertissement
Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.
#pragma warning disable CA2265
// The code that's violating the rule is on this line.
#pragma warning restore CA2265
Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none dans le fichier de configuration.
[*.{cs,vb}]
dotnet_diagnostic.CA2265.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.