Share via


CA1847: Gebruik String.Contains(char) in plaats van String.Contains(string) met één tekens

Eigenschappen Weergegeven als
Regel-id CA1847
Titel Gebruik String.Contains(char) in plaats van String.Contains(string) met één tekens
Categorie Prestaties
Oplossing is brekend of niet-brekend Niet-brekend
Standaard ingeschakeld in .NET 9 Als suggestie

Oorzaak

String.Contains(string) wordt gebruikt wanneer String.Contains(char) deze beschikbaar is.

Beschrijving van regel

Wanneer u zoekt naar één teken, String.Contains(char) biedt u betere prestaties dan String.Contains(string).

Schendingen oplossen

In het algemeen wordt de regel eenvoudig opgelost met behulp van een letterlijke tekenreeks in plaats van een letterlijke tekenreeks.

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

Deze code kan worden gewijzigd om in plaats daarvan een letterlijke teken te gebruiken.

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

Wanneer waarschuwingen onderdrukken

Onderdrukt een schending van deze regel als u zich geen zorgen maakt over de invloed van de prestaties van de betreffende zoekopdracht.

Een waarschuwing onderdrukken

Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.

#pragma warning disable CA1847
// The code that's violating the rule is on this line.
#pragma warning restore CA1847

Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none ervan in op het configuratiebestand.

[*.{cs,vb}]
dotnet_diagnostic.CA1847.severity = none

Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.

Zie ook