• Novidades do C# 7 - Out Variables

    27 de abril de 2017

Nessa série de artigos vamos explorar as novidades introduzidas na versão 7 da linguagem C#. Lançada no último mês de março junto com o Visual Studio 2017, no qual a nova linguagem pode ser utilizada, também podendo ser testada com o Xamarin Workbooks tanto em Windows como em macOS, método que escolhi para escrever os testes desses artigos.

Na segunda parte vamos conhecer o recurso batizado “Out Variables”, um “açúcar sintático” que facilita a chamada de métodos que referem variáveis como parâmetros.

O termo Syntatic Sugar que traduzi livremente como “açúcar sintático” é um jargão usado em programação para denominar recursos que são inseridos em uma linguagem de programação para facilitar a escrita de construções frequentemente empregadas.

São assim chamadas por não constituirem um recurso novo, mas uma forma simplificada de fazer coisas que já eram possíveis anteriormente.

O C# foi incorporando vários syntactic sugars em sua especificação ao longo de sua história, as propriedades auto-implementadas e as lambdas.

Uma necessidade frequente que tenho em meus programas é a de converter uma string em algum tipo primitivo como: datas, inteiros ou decimais. Esses tipos oferecem o método TryParse, que verifica se a string de entrada pode ser convertida, e nesse caso retorna o valor através de um argumento passado como referência:

Precisamos declarar a variável intValue que irá receber o valor da conversão, mesmo que ele não vá ser usada caso a conversão falhe. Com o C# 7 é possível declarar a variável na própria chamada do método:

Ao incluir no chamado o tipo de dado e o nome, esse argumento passa a se tornar uma variável válida no escopo do método onde foi declarada. A inferência de tipo também funciona aqui:

Nesse caso usamos a palavra-chave var para inferir o tipo da variável na declaração out, que nesse caso será float. Mas supondo que queiramos apenas verificar se uma string é conversível para um determinado tipo, ignorando completamente o retorno:

Simplesmente usamos um underscore no lugar da variável e o C# irá ignorar esse parâmetro. Isso inclusive pode ser usado seletivamente:

Note como esse recurso acaba sendo complementar ao que falamos no artigo anterior, pois essa função poderia ter sido escrita usando uma Tupla para retornar os dois valores, o que de fato seria mais elegante com o C# 7, mas felizmente podemos escolher!

Conclusão

As out variables são mais um dos recursos incluídos no C# para diminuir a quantidade de código que precisamos digitar em construções frequentes como a passagem de argumentos por referência para um método, sendo mais uma ferramenta desejável no extenso arsenal dos programadores da linguagem.

Não deixe de conferir os outros artigos dessa série para saber mais sobre os recursos do C# 7:

Share

Desenvolvedor de aplicações, administrador de bancos de dados e gerente de projetos em uma ampla variedade de aplicativos de negócios, utilizando modernas metodologias e ferramentas de ALM e processos Agile. Me considero um entusiasta em tecnologia, com mais de 10 anos de experiência nesse mercado. Atualmente voltado para o mercado mobile, me especializei no desenvolvimento de aplicações para as principais plataformas do mercado (Android, iOS e Windows Phone), e em organizar e ministrar de treinamentos para desenvolvedores.

Leia também

Novidades do C# 7 – Tuplas
C#
26 de abril de 2017

Novidades do C# 7 – Tuplas

Nessa série de artigos vamos explorar as novidades introduzidas na versão 7 da linguagem C#. Lançada no último mês de março junto com o Visual Studio 2017, no qual a nova linguagem pode ser utilizada, também podendo ser testada com o Xamarin Workbooks tanto em Windows como em macOS, método que escolhi para escrever os […]

LEIA MAIS
.NET Core é lançado (e porque isso é importante!)
.NET
10 de julho de 2016

.NET Core é lançado (e porque isso é importante!)

O dia 27 de junho marcou o lançamento oficial do Microsoft .NET Core 1.0. Mas por que você deveria me preocupar com isso? Alias, que diabos é esse tal de .NET Core? Vamos explorar um pouco desse universo e entender porque esse é um marco significativo não só para as comunidades de desenvolvedores Microsoft mas […]

LEIA MAIS
Primeiras Impressões do Visual Studio 2017
Visual Studio
07 de abril de 2017

Primeiras Impressões do Visual Studio 2017

O Visual Studio 2017 foi enfim lançado no último dia 7 de março, em um evento de dois dias transmitido ao vivo, com um Keynote bastante interessante e algumas dezenas de sessões técnicas, disponíveis no Channel 9. Pouco menos de um mês depois de seu lançamento, tenho usado a nova versão quase diariamente e vou […]

LEIA MAIS

Comentários