CA2265 : Ne pas comparer Span<T> à null ou default

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.

Voir aussi