CA1855 : utilisez Span<T>.Clear() au lieu de Span<T>.Fill()
Propriété | Value |
---|---|
Identificateur de la règle | CA1855 |
Titre | Utiliser Span<T>.Clear() à la place de Span<T>.Fill() |
Catégorie | Performances |
Le correctif est cassant ou non cassant | Sans rupture |
Activé par défaut dans .NET 8 | Comme suggestion |
Cause
Span<T>.Fill(T) est appelé pour remplir les éléments d’une étendue avec une valeur par défaut.
Description de la règle
Il est plus efficace d’appeler Span<T>.Clear() que d’appeler Span<T>.Fill(T) pour remplir les éléments de l’étendue avec une valeur par défaut.
Comment corriger les violations
Remplacez l’appel à Span<T>.Fill(T) par un appel à Span<T>.Clear().
Exemple
L’extrait de code suivant montre une violation de CA1855 :
void M(Span<byte> span)
{
span.Fill(0);
}
L’extrait de code suivant corrige la violation :
void M(Span<byte> span)
{
span.Clear();
}
Quand supprimer les avertissements
Vous pouvez supprimer cet avertissement sans risque, si les performances ne sont pas un problème.
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 CA1855
// The code that's violating the rule is on this line.
#pragma warning restore CA1855
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.CA1855.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.