C#  - Usando os novos recursos da linguagem na prática - III


 Neste artigo vou mostrar como usar alguns dos novos recursos da linguagem C# na prática :  Usando a interpolação de strings.

Vamos continuar a mostrando na prática como usar os novos recursos da linguagem C# que iniciamos neste artigo e neste artigo.

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));
                resultado.Add($"Nome: {nome}, Preco: {preco}, Acessórios: {nomeAcessorio}");
            }
            return View(resultado);
        }

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:


José Carlos Macoratti