Partilhar via


DA0001: StringBuilder de uso para concatenações

Identificação da regra

DA0001

<strong>Categoria</strong>

.NET Framework uso

Métodos de criação de perfil

Amostragem

Instrumentação

Message (Mensagem)

Considere o uso de StringBuilder para concatenações

Tipo de mensagem

Aviso

Causa

Chamadas para System.String.Concat são uma parte significativa dos dados de criação de perfil.Considere o uso de StringBuilder classe para construir seqüências de caracteres de vários segmentos.

Descrição da regra

A String objeto é imutável.Portanto, qualquer modificação na cadeia de caracteres cria um novo objeto de seqüência de caracteres e a coleta de lixo do original.Esse comportamento é o mesmo se você chama explicitamente o String. Concat ou usa os operadores de concatenação de seqüência de caracteres, como + ou + =..Pode diminuir o desempenho do programa, se a esses métodos são chamados com freqüência, como, por exemplo, quando os caracteres são adicionados como uma seqüência de um loop estreito.

A classe StringBuilder é um objeto mutável e, ao contrário de System. String, a maioria dos métodos StringBuilder que modificar uma instância dessa classe retorna uma referência a essa instância do mesma.Você pode inserir caracteres ou acrescentar texto a uma instância de StringBuilder e remover ou substituir caracteres na instância sem a necessidade de alocar uma nova instância e exclusão de instância original.

Como investigar um aviso

Clique duas vezes a mensagem na janela Error List para navegar até o O modo de exibição de detalhes de função de amostra dados de perfil.Localize as seções do programa que tornam o uso mais freqüente de concatenação de seqüência de caracteres.Use a classe StringBuilder para manipulações complexas de cadeia de caracteres, incluindo operações de concatenação de seqüência de caracteres freqüente.

Para obter mais informações sobre como trabalhar com seqüências de caracteres, o As operações de cadeia de caracteres seção de o capítulo 5 - melhorando o desempenho de código gerenciado na biblioteca Microsoft Patterns and Practices.