CA2265 : Ne pas comparer Span<T>
ou null
default
Propriété | Value |
---|---|
Identificateur de la règle | CA2264 |
Titre | Ne pas comparer Span<T> ou null default |
Catégorie | Utilisation |
Le correctif est cassant ou non cassant | Sans rupture |
Activée par défaut dans .NET 9 | Comme avertissement |
Cause
Une Span<T> instance est comparée à null
ou default
.
Description de la règle
Comparaison d’une étendue ou null
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.