CA1514: Argument redundante lengte vermijden
Eigenschappen | Weergegeven als |
---|---|
Regel-id | CA1514 |
Titel | Vermijd het argument redundante lengte |
Categorie | Onderhoudbaarheid |
Oplossing is brekend of niet-brekend | Niet-brekend |
Standaard ingeschakeld in .NET 9 | Als suggestie |
Oorzaak
Er wordt een redundant lengteargument doorgegeven aanString.Substring, Span<T>.Sliceof ReadOnlySpan<T>.SliceMemory<T>.Slice bij het segmenteren aan het einde van een tekenreeks of buffer.
Beschrijving van regel
Een expliciet berekend lengteargument kan foutgevoelig zijn en is niet nodig wanneer u segmenteert naar het einde van een tekenreeks of buffer.
Code waarmee het lengteargument wordt weggelaten, is beter leesbaar en onderhoudbaar.
Schendingen oplossen
Verwijder het lengteargument.
Opmerking
In het volgende codefragment ziet u een schending van CA1514:
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!"
Met het volgende codefragment wordt de schending opgelost:
string message = "Hello World!";
string world = message.Substring(6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6) ' "World!"
Wanneer waarschuwingen onderdrukken
Het is veilig om een schending van deze regel te onderdrukken als u zich geen zorgen maakt over de onderhoudbaarheid van uw code.
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable CA1514
// The code that's violating the rule is on this line.
#pragma warning restore CA1514
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none
ervan in op het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.CA1514.severity = none
Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.