CA1858: A StartsWith használata IndexOf helyett
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA1858 |
Cím | A StartsWith használata IndexOf helyett |
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 | Javaslatként |
Ok
String.IndexOf a függvény meghívja, és eredményét nullával hasonlítja össze.
Szabály leírása
Hatékonyabb és egyértelműbb a hívás String.StartsWith , mint meghívni String.IndexOf és összehasonlítani az eredményt nullával annak megállapításához, hogy egy sztring egy adott előtaggal kezdődik-e.
IndexOf
A teljes sztringben keres, míg StartsWith
csak a sztring elején.
Szabálysértések kijavítása
Cserélje le a hívást a következő String.IndexOf hívásra String.StartsWith: .
Példa
A következő kódrészlet a CA1858 megsértését mutatja be:
bool M(string s)
{
return s.IndexOf("abc") == 0;
}
Function M(s As String) As Boolean
Return s.IndexOf("abc") = 0
End Function
A következő kódrészlet kijavítja a szabálysértést:
bool M(string s)
{
return s.StartsWith("abc");
}
Function M(s As String) As Boolean
Return s.StartsWith("abc")
End Function
Mikor kell letiltani a figyelmeztetéseket?
Ha a teljesítmény nem okoz problémát, nyugodtan el lehet tiltani ezt a figyelmeztetést.
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 CA1858
// The code that's violating the rule is on this line.
#pragma warning restore CA1858
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.CA1858.severity = none
További információ: Kódelemzési figyelmeztetések letiltása.
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: