Casos da vida real – #0 | String Builder

Fala ai galera, tudo certo?

Por vezes dou uma olhada em códigos antigos da galera, ou faço algum review de código fresquinho; e algumas vezes encontramos algumas coisas que podem ser melhoradas ou refatoradas, né?

A ideia aqui é mostrar os casos da vida real, que encontro na empresa onde trabalho e/ou em consultorias, expô-los aqui e mostrar uma maneira melhor de se fazer. E claro, sempre há alguma maneira melhor de se fazer alguma coisa, então se vocês tiverem uma solução melhor, mandem pull requests no repositório e comentem aqui no post, pode ser?

Caso do String Builder

Hoje me deparei com o seguinte código (não exatamente assim, mas no mesmo sentido):


var sb1 = new StringBuilder();
sb1.Append("PRIMEIRA LINHA" + Environment.NewLine);
sb1.Append("SEGUNDA LINHA");
var x = sb1.ToString();
Console.WriteLine(x);

Reparem, que na linha 3, a pessoa que escreveu o código, precisava garantir que o texto quebrasse uma linha, certo? E ela concatenou com o texto a string “Enviroment.NewLine” que no final das contas vai concatenar um “\r\n” e quebrar a linha.

O resultado é parecido com isso aqui:
string-builder

Ok, o resultado foi o esperado! Só alegria 😀

Mas agora, vou mostrar um método da classe StringBuilder chamado AppendLine que faz a mesma coisa, porém sem a necessidade do uso da concatenação da quebra de linha. vejam:


var sb2 = new StringBuilder();
sb2.AppendLine("PRIMEIRA LINHA");
sb2.Append("SEGUNDA LINHA");
var y = sb2.ToString();
Console.WriteLine(y);

E o resultado é o mesmo:
string-builder

Belezura galera?

Os códigos utilizados estão disponíveis no GitHub: https://github.com/vmussak/CasosDaVidaReal

Por hoje é só isso, qualquer dúvida ou sugestão, estou à disposição! Até mais 😀

Advertisement

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s