Visual Basic 14 - Novidades da nova versão : Interpolação de strings
Este artigo faz parte de uma série de artigos onde eu mostro as novidades do Visual Basic 14, a nova versão do Visual Basic .NET, que fará parte do Visual Studio 2015. |
O Visual Basic 14 é a mais nova versão do Visual Basic ou VB .NET, e será lançado como parte do Visual Studio 2015. Esta versão foi reescrita do zero em cerca de 1,3 milhões de linhas de código, e segundo a Microsoft, a equipe aproveitou para reescrever a repensar todas as partes do Visual Basic.
No primeiro artigo eu abordei o tópico: Visual Basic 14 - Novidades da nova versão - I : Refatoração embutida
Hoje veremos o novo recurso para interpolação de strings.
Recursos usados:
Visual Studio CTP 6 (poderá sofrer alterações até a release final.)
Melhorando a experiência de codificação : A interpolação de strings
Para realizar a interpolação de strings nas versões anteriores do Visual Studio podemos usar String.Format ou o operador & para concatenar strings.
Assim, na versão do Visual Studio 2013, podemos usar String.Format e o operador &, para realizar a seguinte interpolação :
É assim que String.Format funciona e é assim que fazíamos para realizar a interpolação de strings.
Veja como ficou na versão 2015 (ainda na versão CTP) usando o recurso $ :
O resultado final é o mesmo, mas comparando a sintaxe usando String.Format (e a concatenação com o operador &) com sintaxe usando $, concluímos que ficou mais fácil digitar e entender :
VB 12 - VS 2013 |
Dim url_2013 = String.Format("http://{0}/{1}?versao={2}", site, path, versao)
ou Dim url_2013_2 = "http://" & site & "/" & path & "?" & "versao=" & versao |
VB 14 - VS 2015 |
Dim url_2015 = $"http://{site}/{path}?versao={versao}"
|
Nota: Eu poderia também usar a concatenação de
strings conforme mostrado acima.
Usando um exemplo mais complexo e comparando as
sintaxes usadas no VS 2013 e no VS 2015 temos :
VB 12 - VS 2013 String.Format |
Dim x = String.Format("Robot {1} reporting{0} {3} levels are {2}{0}" &
"{5} levels are {4}",
vbCrLf, name, coolant.name, coolant.level,
reactor.name, reactor.level)
|
VB 12 - VS 2013 Operador & |
Dim z = "Robot " & name & " reporting " & vbCrLf &
" " & coolant.name & "levels are " & coolant.value &
" " & reactor.name & " levels are " & reactor.value
|
VB 14 - VS 2015 |
Dim y = $"Robot {name} reporting
{coolant.name} levels are {coolant.level}
{reactor.name} levels are {reactor.level}"
|
Exemplo retirado de : https://roslyn.codeplex.com/discussions/540869
Assim, a nova versão é uma substituição completa de String.Format, com a
cultura e tudo, para resolver a bagunça que você encontra quando existem muitos
argumentos posicionais.
Além disso ela fornece uma maneira rápida de fazer a concatenação
invariant-culture para uso na composição de strings para passar para outras
APIs.
Com isso podemos ensinar a concatenação de strings para iniciantes sem ter que
abordar a verborrágica sintaxe de String.Format.
Verifique o recurso em seu próprio código e imagine as possibilidades. Codificar vai ficar mais fácil e intuitivo.
Mas faço-vos saber, irmãos, que o
evangelho que por mim foi anunciado não é segundo os homens.
Porque não o recebi, nem aprendi de homem algum, mas pela revelação de Jesus
Cristo.
Gálatas 1:11-12
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 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
https://roslyn.codeplex.com/wikipage?title=Language%20Feature%20Status
http://blogs.msdn.com/b/vbteam/archive/2014/12/09/new-language-features-in-visual-basic-14.aspx
http://visualstudiomagazine.com/articles/2014/12/16/visual-basic-14-preview.aspx