Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
| Property | Värde | 
|---|---|
| Regel-ID | CA1847 | 
| Title | Använd String.Contains(char) i stället för String.Contains(string) med enkla tecken | 
| Kategori | Prestanda | 
| Korrigeringen är icke-bakåtkompatibel | Icke-icke-bryta | 
| Aktiverad som standard i .NET 9 | Som förslag | 
Orsak
              String.Contains(string) används när String.Contains(char) det är tillgängligt.
Regelbeskrivning
När du söker efter ett enda tecken ger String.Contains(char) bättre prestanda än String.Contains(string).
Så här åtgärdar du överträdelser
I allmänhet åtgärdas regeln helt enkelt med hjälp av en teckenliteral i stället för en strängliteral.
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
Den här koden kan ändras så att den använder en teckenliteral i stället.
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
När du ska ignorera varningar
Undertryck en överträdelse av den här regeln om du inte bryr dig om prestandapåverkan av sökanropet i fråga.
Ignorera en varning
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.
#pragma warning disable CA1847
// The code that's violating the rule is on this line.
#pragma warning restore CA1847
Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.
[*.{cs,vb}]
dotnet_diagnostic.CA1847.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.