CA1847 : Utilisez string.Contains(char) au lieu de string.Contains(string) avec les caractères uniques
Propriété | Value |
---|---|
Identificateur de la règle | CA1847 |
Titre | Utiliser string.Contains(char) au lieu de string.Contains(string) avec des caractères uniques |
Catégorie | Performances |
Le correctif est cassant ou non cassant | Sans rupture |
Activé par défaut dans .NET 8 | À titre de suggestion |
Cause
string.Contains(string)
est utilisé alors que string.Contains(char)
était disponible.
Description de la règle
Lors de la recherche d’un caractère unique, l’utilisation de string.Contains(char)
offre de meilleures performances que string.Contains(string)
.
Comment corriger les violations
En général, la règle est corrigée simplement à l’aide d’un littéral de caractère au lieu d’un littéral de chaîne.
public bool ContainsLetterI()
{
var testString = "I am a test string.";
return testString.Contains("I");
}
Public Function ContainsLetterI() As Boolean
Dim testString As String = "I am a test string."
Return testString.Contains("I")
End Function
Ce code peut être modifié pour utiliser un littéral de caractère à la place.
public bool ContainsLetterI()
{
var testString = "I am a test string.";
return testString.Contains('I');
}
Public Function ContainsLetterI() As Boolean
Dim testString As String = "I am a test string."
Return testString.Contains("I"c)
End Function
Quand supprimer les avertissements
Supprimez une violation de cette règle si vous ne vous préoccupez pas de l’impact sur les performances de l’appel de recherche en question.
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 CA1847
// The code that's violating the rule is on this line.
#pragma warning restore CA1847
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.CA1847.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour