Megosztás a következőn keresztül:


CA1865-CA1867: Használja a "sztringet". Metódus(karakter)" karakterlánc helyett. Metódus(sztring)" egy karakterből álló sztringhez

Tulajdonság Érték
Szabályazonosító CA1865-CA1867
Cím Használja a "sztringet". Metódus(karakter)" karakterlánc helyett. Metódus(sztring)" egy karakterből álló sztringhez
Kategória Teljesítmény
A javítás kompatibilitástörő vagy nem törik Nem törés
Alapértelmezés szerint engedélyezve a .NET 8-ban CA1865 – Javaslatként
CA1866 – Javaslatként
CA1867 – Nem

Ok

string.Method(string) akkor használatos, amikor string.Method(char) rendelkezésre állt.

A szabályok célmetenek string :

  • StartsWith
  • EndsWith
  • IndexOf
  • LastIndexOf

Az alábbi táblázat összefoglalja az egyes kapcsolódó szabályazonosítók feltételeit.

Diagnosztikai azonosító Leírás Elérhető kódjavítás
CA1865 Akkor alkalmazható, ha egy kódjavítással automatikusan elvégezhető a biztonságos átalakítás. Igen
CA1866 Akkor érvényes, ha nincs megadva összehasonlítás. Nem
CA1867 Minden olyan karakterlánc-összehasonlításra vonatkozik, amelyre a másik két szabály nem vonatkozik. Nem

A CA1867 alapértelmezés szerint le van tiltva.

Szabály leírása

A karakterparamétert használó túlterhelés jobban teljesít, mint a sztringparamétert használó túlterhelés.

Szabálysértések kijavítása

A szabálysértés kijavításához használja a karakterparaméter túlterhelését a sztringparaméter túlterhelése helyett.

Vegyük a következő példát:

public bool StartsWithLetterI()
{
    var testString = "I am a test string.";
    return testString.StartsWith("I");
}
Public Function StartsWithLetterI() As Boolean
    Dim testString As String = "I am a test string."
    Return testString.StartsWith("I")
End Function

Ez a kód a sztring "I"helyett átengedhető.'I'StartsWith

public bool StartsWithLetterI()
{
    var testString = "I am a test string.";
    return testString.StartsWith('I');
}
Public Function StartsWithLetterI() As Boolean
    Dim testString As String = "I am a test string."
    Return testString.StartsWith("I"c)
End Function

Mikor kell letiltani a figyelmeztetéseket?

Tiltsa le a szabály megsértését, ha nem aggódik a metódus sztringgel való meghívásának teljesítménybeli hatása miatt.

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

#pragma warning disable CA1865 // or CA1866 or CA1867
// The code that's violating the rule is on this line.
#pragma warning restore CA1865 // or CA1866 or CA1867

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

[*.{cs,vb}]
dotnet_diagnostic.CA1865.severity = none
dotnet_diagnostic.CA1866.severity = none
dotnet_diagnostic.CA1867.severity = none

További információ: Kódelemzési figyelmeztetések letiltása.

Kapcsolódó információk