Este primeiro artigo dá início a uma série que publicarei sobre os recursos que integram o C# 7.3. As próximas seções demonstram como ativar o uso desta versão da linguagem C# em um projeto, bem como trazem novidades relacionadas a manipulação de tuplas neste release.
Habilitando o uso do C# 7.3 no Visual Studio 2017
O exemplo apresentado neste artigo foi implementado a partir do VisualStudio 2017 Update 15.7.1. É importante destacar que releases anteriores não contam com suporte para a versão 7.3 da linguagem C#.
Caso o uso do C# 7.3 não tenha sido previamente habilitado, um alerta aparecerá no Visual Studio 2017 ao se tentar empregar algum dos novos recursos:
Para evitar este tipo de problema, será necessário alterar as propriedades do projeto em questão. Na seção “Build“, acionar a opção “Advanced…“:
Aparecerá a janela “Advanced Build Settings“, com a opção “C# latest major version (default)” selecionada:
Em “Language version” selecionar “C# 7.3” ou” C# latest minor version (latest)“, a fim de ativar os recursos desta nova versão da linguagem:
Utilizando os operadores == e != com tuplas
Uma das principais novidades que integram o C# 7.0, as estruturas conhecidas como tuplas, também passaram por melhorias com o C# 7.1. Para saber mais a respeito acesse os artigos a seguir:
Contudo, ainda não havia até o C# 7.2 a possibilidade de efetuar comparações com estes tipos de construções empregando os operadores de igualdade (==) e desigualdade (!=). O C# 7.3 já conta agora com este suporte, o que dispensará os desenvolvedores da necessidade de analisar individualmente cada campo em duas tuplas a serem comparadas:
using System; namespace ExemploTuplas { class Program { static void Main(string[] args) { var tupla1 = (Valor1: 1, Valor2: 2); var tupla2 = (Valor1: 1, Valor2: 2); var tupla3 = (Valor1: 3, Valor2: 4); if (tupla1 == tupla2) Console.WriteLine("tupla1 == tupla2"); if (tupla2 != tupla3) Console.WriteLine("tupla2 != tupla3"); Console.ReadKey(); } } }
A próxima imagem traz o resultado da execução deste código: