Partilhar via


CA1514: Evitar o argumento de comprimento redundante

Property valor
ID da regra CA1514
Título Evitar o argumento de comprimento redundante
Categoria Manutenibilidade
A correção está quebrando ou não quebrando Sem quebra
Habilitado por padrão no .NET 9 Como sugestão

Motivo

Um argumento de comprimento redundante é passado para String.Substring, Span<T>.Slice, ReadOnlySpan<T>.Slice, ou Memory<T>.Slice ao fatiar para o final de uma cadeia de caracteres ou buffer.

Descrição da regra

Um argumento de comprimento explicitamente calculado pode ser propenso a erros e é desnecessário quando você está fatiando até o final de uma cadeia de caracteres ou buffer.

O código que omite o argumento length é mais legível e sustentável.

Como corrigir violações

Remova o argumento length.

Exemplo

O seguinte trecho de código mostra uma violação de 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!"

O trecho de código a seguir corrige a violação:

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

Quando suprimir avisos

É seguro suprimir uma violação dessa regra se você não estiver preocupado com a capacidade de manutenção do seu código.

Suprimir um aviso

Se você quiser apenas suprimir uma única violação, adicione diretivas de pré-processador ao seu arquivo de origem para desativar e, em seguida, reativar a regra.

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

Para desabilitar a regra de um arquivo, pasta ou projeto, defina sua gravidade como none no arquivo de configuração.

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

Para obter mais informações, consulte Como suprimir avisos de análise de código.