CA1514: Vermeiden des redundanten Längenarguments
Eigenschaft | Wert |
---|---|
Regel-ID | CA1514 |
Titel | Vermeiden des redundanten Längenarguments |
Kategorie | Wartbarkeit |
Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
Standardmäßig in .NET 8 aktiviert | Als Vorschlag |
Ursache
Ein redundantes Längenargument wird bei der Segmentierung bis zum Ende einer Zeichenfolge oder eines Puffers an String.Substring, Span<T>.Slice, ReadOnlySpan<T>.Slice oderMemory<T>.Slice übergeben.
Regelbeschreibung
Ein explizit berechnetes Längenargument kann fehleranfällig sein und ist bei der Segmentierung bis zum Ende einer Zeichenfolge oder eines Puffers nicht erforderlich.
Code, der das Längenargument auslässt, ist besser lesbar und verwaltbar.
Behandeln von Verstößen
Entfernen Sie das Längenargument.
Beispiel
Der folgende Codeschnipsel zeigt einen Verstoß gegen 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!"
Der folgende Codeausschnitt korrigiert die Verletzung:
string message = "Hello World!";
string world = message.Substring(6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6) ' "World!"
Wann sollten Warnungen unterdrückt werden?
Es ist sicher, einen Verstoß gegen diese Regel zu unterdrücken, wenn Sie sich keine Gedanken über die Wartbarkeit Ihres Codes machen.
Unterdrücken einer Warnung
Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.
#pragma warning disable CA1514
// The code that's violating the rule is on this line.
#pragma warning restore CA1514
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdatei auf none
fest.
[*.{cs,vb}]
dotnet_diagnostic.CA1514.severity = none
Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.