CA1847: Usare la stringa. Contains(char) anziché string. Contains(string) con caratteri singoli
Proprietà | valore |
---|---|
ID regola | CA1847 |
Title | Usare la stringa. Contains(char) anziché string. Contains(string) con caratteri singoli |
Categoria | Prestazioni |
Correzione che causa un'interruzione o un'interruzione | Nessuna interruzione |
Abilitato per impostazione predefinita in .NET 8 | Come suggerimento |
Causa
string.Contains(string)
viene utilizzato quando string.Contains(char)
era disponibile.
Descrizione regola
Quando si cerca un singolo carattere, l'uso string.Contains(char)
di offre prestazioni migliori rispetto a string.Contains(string)
.
Come correggere le violazioni
In generale, la regola viene risolta semplicemente usando un valore letterale char anziché un valore letterale stringa.
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
Questo codice può essere modificato per usare invece un valore letterale char.
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
Quando eliminare gli avvisi
Eliminare una violazione di questa regola se non si è interessati all'impatto sulle prestazioni della chiamata di ricerca in questione.
Eliminare un avviso
Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.
#pragma warning disable CA1847
// The code that's violating the rule is on this line.
#pragma warning restore CA1847
Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none
su nel file di configurazione.
[*.{cs,vb}]
dotnet_diagnostic.CA1847.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per