Você conhece o String Interpolation?

String Interpolation

O String Interpolation ou cadeia de caracteres interpoladas é um recurso que foi incorporado ao C# na versão 6. Ele é usado para construir uma cadeia de caracteres.

Uma expressão de cadeia de caracteres interpolados se parece com um template de string que contém expressões. Uma expressão de cadeia de caracteres interpolados cria uma nova string, substituindo as expressões contidas com o resultado de suas representações ToString. Uma cadeia de caracteres interpolada é mais fácil de compreender em relação a argumentos do que a Formatação composta que é mais utilizada pelos desenvolvedores.

Exemplo

O primeiro exemplo é o habitual como estamos acostumados a fazer com o string.Format:

var i = 10;

var texto = string.Format(@"O número informado foi: {0}", i);

Agora o mesmo código usando o string interpolation fica da seguinte forma:

var i = 10;

var texto = $"O número informado foi: {i}";

Veja que o seu uso é simples, basta utilizar o $ antes de digitar a string, onde for utilizar o parâmetro deve ser colocado entre chaves, e pronto está definida a string.

Vantagens do uso

A grande vantagem de se utilizar o string interpolation é na leitura do código, pois o mesmo deixa o código mais intuitivo, abaixo temos um exemplo com mais variáveis:

var texto = $"Nome {nome}, tem {idade} anos, mora em {endereco}.";
var outroTexto = $"Seu carrinho de compras tem {carrinho.itens} itens, no valor de {carrinho.valor}.";

Veja como o código fica mais fácil de ser interpretado. E o mesmo pode ser utilizado para deixar sua implementação mais limpa (clean code). Na questão da performance o mesmo não vai ter impacto significativo no processamento pois ele vai implementar o string.Format usual que nós conhecemos.

Espero que a dica tenha sido boa para você, até a próxima

 

Referências

https://msdn.microsoft.com/pt-br/library/dn961160.aspx

http://www.marcioalthmann.net/2015/07/c-6-string-interpolation/

Posted in Blog, C#, Clean Code.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *