CA1830: Előnyben részesítse az erősen gépelt Hozzáfűzés és Beszúrás metódus túlterhelését a StringBuilderen
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA1830 |
Cím | Erősen gépelt Hozzáfűzés és Beszúrás metódus túlterhelésének előnyben részesítése a StringBuilderen |
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
Egy StringBuilderAppend
vagy Insert
több metódus olyan argumentummal lett meghívva, amely egy olyan típus meghívásának ToString
eredménye volt, amelyhez a Append
vagy Insert
metódus dedikált túlterheléssel rendelkezik.
Szabály leírása
Append és Insert túlterheltségeket biztosít több típushoz a következőn túl String. Ha lehetséges, a ToString() és a sztringalapú túlterhelés helyett inkább az erősen gépelt túlterheléseket részesítse előnyben.
Szabálysértések kijavítása
Törölje a szükségtelent ToString()
a meghívásból.
using System.Text;
class C
{
int _value;
// Violation
public void Log(StringBuilder destination)
{
destination.Append("Value: ").Append(_value.ToString()).AppendLine();
}
// Fixed
public void Log(StringBuilder destination)
{
destination.Append("Value: ").Append(_value).AppendLine();
}
}
Mikor kell letiltani a figyelmeztetéseket?
Ha nem aggódik a szükségtelen sztring-foglalások teljesítményre gyakorolt hatása miatt, nyugodtan letilthatja a szabály megsértését.
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 CA1830
// The code that's violating the rule is on this line.
#pragma warning restore CA1830
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.CA1830.severity = none
További információ: Kódelemzési figyelmeztetések letiltása.
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: