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


CA1514: Kerülje a redundáns hossz argumentumot

Tulajdonság Érték
Szabályazonosító CA1514
Cím Kerülje a redundáns hosszargumentumot
Kategória Fenntarthatóság
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

A függvény redundáns hosszargumentumot ad át String.Substringa sztringnek Span<T>.SliceReadOnlySpan<T>.Slicevagy puffernek, vagy Memory<T>.Slice ha egy sztring vagy puffer végére szeletel.

Szabály leírása

A explicit módon kiszámított hosszargumentum hibalehetőséget jelenthet, és szükségtelen, ha sztring vagy puffer végére szeletel.

A hossz argumentumot kihagyó kód olvashatóbb és karbantarthatóbb.

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

Távolítsa el a hossz argumentumot.

Példa

A következő kódrészlet a CA1514 megsértését mutatja be:

string message = "Hello World!";
string world = message.Substring(6, message.Length - 6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6, message.Length - 6) ' "World!"

A következő kódrészlet kijavítja a szabálysértést:

string message = "Hello World!";
string world = message.Substring(6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6) ' "World!"

Mikor kell letiltani a figyelmeztetéseket?

Ha nem aggódik a kód karbantarthatósága 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 CA1514
// The code that's violating the rule is on this line.
#pragma warning restore CA1514

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.CA1514.severity = none

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