CA1514: Vyhněte se argumentu redundantní délky

Vlastnost Hodnota
ID pravidla CA1514
Název Vyhněte se argumentu redundantní délky
Kategorie Udržovatelnost
Oprava způsobující chybu nebo chybu způsobující chybu Nenarušující
Povoleno ve výchozím nastavení v .NET 8 Jako návrh

Příčina

Argument redundantní délky se předává na String.Substringkonec Span<T>.SliceReadOnlySpan<T>.Sliceřetězce nebo vyrovnávací paměti , nebo Memory<T>.Slice při vytváření řezů na konec řetězce nebo vyrovnávací paměti.

Popis pravidla

Explicitně počítaný argument délky může být náchylný k chybám a při dělení na konec řetězce nebo vyrovnávací paměti není nutné.

Kód, který vynechá argument délky, je čitelnější a udržovatelný.

Jak opravit porušení

Odeberte argument délky.

Příklad

Následující fragment kódu ukazuje porušení 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!"

Následující fragment kódu opraví porušení zásad:

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

Kdy potlačit upozornění

Pokud vás nezajímá udržovatelnost kódu, je bezpečné potlačit porušení tohoto pravidla.

Potlačení upozornění

Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.

#pragma warning disable CA1514
// The code that's violating the rule is on this line.
#pragma warning restore CA1514

Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none konfiguračním souboru.

[*.{cs,vb}]
dotnet_diagnostic.CA1514.severity = none

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.