Início > C#, Dicas / Tips > Otimizando C#: String e StringBuilder

Otimizando C#: String e StringBuilder

O objeto String é imutável. Toda vez que é realizado uma operação com um objeto do tipo system.String, você cria um novo objeto na memória, ou seja, na memória RAM do seu computador, é alocado um novo espaço para o resultado da operação.  É como se o objeto fosse movido de lugar a cada operação.

Concatenando string da forma comum:
PERCA DE PERFORMANCE:

var texto = "linha1";
texto = texto + "linha2";
texto = texto + "linha3";
Console.WriteLine(texto);

A cada concatenação de texto subsequente, será percebida uma perca de performance cada vez maior. Em situações onde é necessário executar repetidas operações com strings, é fortemente recomendado o uso de StringBuilder.

A classe System.Text.StringBuilder pode ser usada quando você quer modificar uma string sem criar/alocar um novo objeto. Consequentemente você aumenta a performance na concatenação de várias strings.

OTIMIZAÇÃO DE PERFORMANCE:

StringBuilder StringBuilderConcatena = new StringBuilder("Linha 1!");
StringBuilderConcatena.Append("Linha2.");
StringBuilderConcatena.Append("Linha3.");
Console.WriteLine(StringBuilderConcatena);

Fica aí mais uma dica que espero ser útil.

Até a próxima.

Anúncios
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixar uma Anotação

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

dotnettips.wordpress.com/

Helping Programmers Since 1994

Viagem e Voo

Dicas para viagens, férias e voos nacionais e internacionais

Ivan Guimarães Meirelles

Analista Desenvolvedor

Void Podcast

Vazio e sem retorno de valor

Elemar DEV

Negócios, tecnologia e desenvolvimento

2,000 Things You Should Know About WPF

Everything a WPF Developer Needs to Know, in Bite-Sized Chunks

blog

so long

Fernando Franzini Blog

Engenharia de Software e Arquitetura Ágil

Gabriel RB.net

Blog técnico, com dicas, códigos, novidades e problemas do dia-a-dia programando.

Alexandre Valente's Blog

Experiências em tecnologia e assuntos diversos

%d blogueiros gostam disto: