Partager via


CA2265 : Ne pas comparer Span<T> ou nulldefault

Propriété Value
Identificateur de la règle CA2264
Titre Ne pas comparer Span<T> ou nulldefault
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.

Voir aussi