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ó szabályok
Kapcsolódó információk
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: