Compartilhar via


CA1830: Preferir os métodos Acrescentar e Inserir fortemente tipados provoca uma sobrecarga no StringBuilder

Property Valor
ID da regra CA1830
Título Preferir os métodos Acrescentar e Inserir fortemente tipados provoca uma sobrecarga no StringBuilder
Categoria Desempenho
Correção interruptiva ou sem interrupção Sem interrupção
Habilitado por padrão no .NET 10 Como sugestão

Causa

Um StringBuilderAppend método or Insert foi chamado com um argumento que foi o resultado da chamada ToString de um tipo para o qual o Append método or Insert tem uma sobrecarga dedicada.

Descrição da regra

Append e Insert fornecem sobrecargas para vários tipos além de String. Quando possível, prefira as sobrecargas fortemente tipadas, em vez de usar ToString() e a sobrecarga baseada em cadeia de caracteres.

Como corrigir violações

Exclua o ToString() desnecessário da invocação.

using System.Text;

class C
{
    int _value;

    // Violation
    public void Log(StringBuilder destination)
    {
        destination.Append("Value: ").Append(_value.ToString()).AppendLine();
    }

    // Fixed
    public void Log(StringBuilder destination)
    {
        destination.Append("Value: ").Append(_value).AppendLine();
    }
}

Quando suprimir avisos

É seguro suprimir uma violação dessa regra se você não estiver preocupado com o impacto no desempenho de alocações de cadeia de caracteres desnecessárias.

Suprimir um aviso

Para suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem a fim de desabilitar e, em seguida, reabilitar a regra.

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

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

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

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

Confira também