Neste artigo vou mostrar como usar alguns dos novos recursos da linguagem C# na prática : Usando a interpolação de strings. |
Desta vez vamos usar a interpolação de strings na solução Mvc_Sharp que criamos no primeiro artigo.
Estamos exibindo as informações dos produtos em nossa aplicação ASP .NET MVC usando o método Index no controlador ProdutoController o método string.Format que é a forma tradicional para compor strings que contém valores na linguagem C#. Como podemos ver a seguir:
public ActionResult Index()
{
List<string> resultado = new List<string>();
foreach (Produto p in Produto.GetProdutos())
{
string nome = p?.Nome ?? "<Sem Nome>";
decimal? preco = p?.Preco ?? 0;
string nomeAcessorio = p?.Acessorios?.Nome ?? "<Sem Nome>";
resultado.Add(string.Format("Nome: {0}, Preço: {1}, Acessórios: {2}", nome, preco, nomeAcessorio));
}
return View(resultado);
}
|
A partir da versão 6.0 da linguagem C# temos suporte a um recurso conhecido como interpolação de strings que evita a necessidade de verificar que as referências {0} no modelo de seqüência de caracteres correspondam às variáveis especificadas como argumentos.
A interpolação de string ou a interpolação de
variáveis (também substituição de variáveis ou a expansão de
variáveis) é o processo de avaliação de um literal string
contendo um ou mais espaços reservados, origiando um resultado no
qual os espaços reservados são substituídos pelos valores
correspondentes.
É uma forma simples de processamento de modelos. Ou, em termos formais, uma forma de interpretação de substituição lógica. A interpolação de strings permite uma formatação de string mais fácil e intuitiva e uma especificação de conteúdo em comparação com a concatenação de strings. |
Em vez disso, a interpolação de string usa os nomes das variáveis diretamente e insere os valores na string usando uma sintaxe simples. Ela ainda pode usar acessos de matriz, expressões e chamadas de método como valores de inserção. Seu desempenho é semelhante ás chamadas de string.Format. O caractere $ é usado preceder o literal da interpolação.
Veja como fica o recurso aplicado ao método Index do controlador ProdutoController:
public
ActionResult Index() { List<string> resultado = new List<string>(); foreach (Produto p in Produto.GetProdutos()) { string nome = p?.Nome ?? "<Sem Nome>"; decimal? preco = p?.Preco ?? 0; string nomeAcessorio = p?.Acessorios?.Nome ?? "<Sem Nome>";
//resultado.Add(string.Format("Nome: {0}, Preço: {1}, Acessórios:
{2}", nome, preco, nomeAcessorio)); |
As
strings interpoladas são prefixadas com o caracter $ e contêm literais, que
são referências a valores contidos nos caracteres { e }. Quando a
string é avaliada, os literais são preenchidos com os valores atuais das
variáveis ou constantes que são especificadas.
O Visual Studio fornece suporte ao IntelliSense
para criar seqüências interpoladas e oferece uma lista do membros
disponíveis quando o caractere { é digitado; Isso ajuda a minimizar
erros de digitação, e o resultado é uma formatação de string mais fácil de
entender.
No nosso exemplo os valores são inseridos nos literais : {nome} , {preco} e {nomeAcessorio}. Repare que a string é precedida com o símbolo $.
Esse recurso simplifica bastante o código.
Na próxima parte do artigo vamos continuar usando alguns dos novos recursos da linguagem C# em nossa aplicação.
Pegue o projeto aqui : Mvc_CSharp2.zip (sem as referências)
(Disse Jesus) - 'Aquele que tem os meus mandamentos e os guarda esse é o que
me ama; e aquele que me ama será amado de meu Pai, e eu o amarei, e me
manifestarei a ele.'
João 14:21
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Visual Studio - Dica de produtividade - Quick Launch - Macoratti.net
Visual Studio - Dica de produtividade - Nuget - Macoratti.net
NET - Design Patterns - Uma abordagem Prática - Macoratti.net