Exam 70-483

Csharp8 e Csharp9


Project maintained by shyoutarou Hosted on GitHub Pages — Theme by mattgraham

Este exame será retirado em 31 de janeiro de 2021 às 23h59, horário central. Você não poderá mais fazer o exame após essa data. Saiba mais sobre outros exames que serão retirados aqui

Resumo do treinamento para o exame…………….

  1. Criar_usar_tipos
  2. Gerenciar_fluxo
  3. Acesso_dados
  4. Depurar_segurança
  5. Csharp8_Csharp9
  6. Questions

Csharp 08

HABILITANDO O C# 8

A primeira etapa é garantir que estejamos usando o Visual Studio 2019 versão 16.3 ou superior. Verifique no menu Ajuda > Informações sobre o Visual Studio.

Image

Em seguida, precisamos configurar o projeto para o C# 8. Se estivermos acostumados a trabalhar com o Visual Studio, talvez espere alterar de maneira simples a configuração de um projeto. Antes era só ir para Compilar da janela de propriedades do projeto e selecionar a versão do idioma C# :

Image

Infelizmente, isso não funciona mais. Sob as novas regras, a versão padrão do C# é determinada por qual framework estamos direcionando. Os compiladores do C# que fazem parte da instalação do Visual Studio 2017 ou de versões anteriores do SDK do .NET Core são direcionados ao C# 7.0 por padrão. O C# 8,0 tem suporte apenas no .NET Core 3. x e em versões mais recentes. Muitos dos recursos mais recentes exigem recursos de biblioteca e tempo de execução introduzidos no .NET Core 3. x:

O C# 9,0 tem suporte apenas no .NET 5 e em versões mais recentes.

Padrões do compilador

O compilador determina um padrão com base nestas regras:

Estrutura de destino version Padrão da versão da linguagem C#
.NET 5 C# 9,0
.NET Core 3.x C# 8.0
.NET Core 2. x C# 7.3
.NET Standard 2.1 C# 8.0
.NET Standard 2.0 C# 7.3
.NET Standard 1.x C# 7.3
.NET Framework all C# 7.3

Abra o prompt de comando do desenvolvedor para o Visual Studioe execute o comando a seguir para ver a lista de versões de idioma disponíveis em seu computador.

csc -langversion:?

Questionando a opção de compilação -langversion como essa, imprimirá algo semelhante ao seguinte:

Image

A tabela a seguir mostra todas as versões atuais da linguagem C#. Seu compilador pode não entender necessariamente todos os valores se for mais antigo. Se você instalar o .NET Core 3,0 ou posterior, terá acesso a todos os itens listados.

Valor Significado
preview O compilador aceita todas as sintaxes de linguagem válidas da versão prévia mais recente.
latest O compilador aceita a sintaxe da versão lançada mais recente do compilador (incluindo a versão secundária).
latestMajor (default) O compilador aceita a sintaxe da versão principal mais recente lançada do compilador.
8.0 O compilador aceita somente a sintaxe incluída no C# 8.0 ou inferior.
7.3 O compilador aceita somente a sintaxe incluída no C# 7.3 ou inferior.
7.2 O compilador aceita somente a sintaxe incluída no C# 7.2 ou inferior.
7.1 O compilador aceita somente a sintaxe incluída no C# 7.1 ou inferior.
7 O compilador aceita somente a sintaxe incluída no C# 7.0 ou inferior.
6 O compilador aceita somente a sintaxe incluída no C# 6.0 ou inferior.
5 O compilador aceita somente a sintaxe incluída no C# 5.0 ou inferior.
4 O compilador aceita somente a sintaxe incluída no C# 4.0 ou inferior.
3 O compilador aceita somente a sintaxe incluída no C# 3.0 ou inferior.
ISO-2(ou 2) O compilador aceita apenas a sintaxe que está incluída em ISO/IEC 23270:2006 C# (2,0).

Para saber qual versão de idioma você está usando no momento, coloque #error em seu código. Isso faz com que o compilador produza um diagnóstico, CS8304, com uma mensagem que contém a versão do compilador que está sendo usada e a versão atual do idioma selecionado.

Image

Somente o .NET Core 3.0 e o .NET Standard 2.1 possuem o C# 8, o restante começa com o C# 7.3. Crie um projeto console Core 3.0:

Image

Substituir um padrão

Se precisar especificar sua versão do C# explicitamente, poderá fazer isso de várias maneiras:

  1. Edite manualmente o arquivo de projeto (csproj).
  2. Definir a versão da linguagem para vários projetos em um subdiretório.
  3. Configure a -langversion opção do compilador.

Editar o arquivo de projeto

É possível definir a versão da linguagem em seu arquivo de projeto. Por exemplo, se você quiser explicitamente acesso às versões prévias dos recursos, adicione um elemento como este:

<PropertyGroup>
<LangVersion>preview</LangVersion>    OU    <LangVersion>8.0</LangVersion>
</PropertyGroup>

O valor preview usa a versão prévia mais recente da linguagem C# compatível com seu compilador. Se estivermos usando um formato de projeto moderno, podemos abri-lo clicando duas vezes no projeto no Solution Explorer. Podemos reconhecer esse formato porque a raiz do arquivo XML é parecida com esta:

<Project Sdk="Microsoft.NET.Sdk">

Se estivermos usando o formato do projeto legado, podemos editá-lo diretamente, mas será um pouco mais complicado. Uma opção é fechar o Visual Studio e usar o bloco de notas ou algum editor de texto. Como alternativa, podemos instalar o Power Commands do Visual Studio, que adiciona um comando “Edit Project File”. Para referência, a raiz do arquivo XML será mais ou menos assim:

<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

Configurar vários projetos

Para configurar vários projetos, você pode criar um arquivo Directory. Build. props que contém o <LangVersion> elemento. Normalmente, você faz isso no diretório da solução. Adicione o seguinte a um arquivo Directory. Build. props no diretório da solução:

<Project>
    <PropertyGroup>
        <LangVersion>preview</LangVersion>
    </PropertyGroup>
</Project>

As compilações em todos os subdiretórios do diretório que contém esse arquivo usarão a versão preview C#. Para obter mais informações, confira o artigo sobre como personalizar o build. C# 8.0 adiciona os seguintes recursos e aprimoramentos à linguagem C#:

Csharp 9.0

CONFIGURANDO O C# 9

Configurar com C# 9 é basicamente o mesmo que configurar com .NET Preview 5.

Image

Image

Image

Image

Image

Depois que o SDK do .NET 5 Preview estiver instalado e configurado. Para qualquer projeto existente que você deseja testar em execução no .NET 5 (por exemplo, um pequeno aplicativo de console), tudo o que você precisa fazer é brir o arquivo .csproj. Para abrir o arquivo de projeto * .csproj: Clique com o botão direito do mouse no Gerenciador de Soluções e escolha Editar Arquivo de Projeto.:

Image

<Project Sdk = "Microsoft.NET.Sdk" > 
<PropertyGroup>
  		 <OutputType> Exe </OutputType>
  		 <TargetFramework> netcoreapp3.1 </TargetFramework>
</PropertyGroup>
</Project>

Para :

<Project Sdk = "Microsoft.NET.Sdk" > 
<PropertyGroup>
 <OutputType> Exe </OutputType> 
<TargetFramework> net5.0 </TargetFramework> 
<LangVersion> 9.0 </LangVersion> 
</PropertyGroup> 
</Project>

Observe que alguns modelos, como aplicativos de console, não solicitam a versão do SDK ao criar um novo projeto, eles apenas usam o SDK mais recente disponível. Nesse caso, seu “padrão” para Visual Studio repentinamente se torna uma prévia do SDK do .NET Core.

Solução de problemas

Se você fez tudo isso e obteve um destes erros:

Então aqui está sua lista de solução de problemas rápida e fácil:

Releases Visual Studio 2019 Preview
September 14, 2020 version 16.8 Preview 3.1New release icon
August 31, 2020 Visual Studio 2019 version 16.8 Preview 2.1
August 25, 2020 Visual Studio 2019 version 16.8 Preview 2
August 5, 2020 Visual Studio 2019 version 16.8 Preview 1

Uma nova versão de amostra do .NET 5/C# 9 é lançada a cada poucos meses. Portanto, se você estiver lendo sobre um novo recurso C# 9 ou .NET 5 que alguém está usando, mas parece que não consegue fazê-lo funcionar, volte sempre para https://dotnet.microsoft.com/download/dotnet/5.0 e baixe a última versão de visualização e instale. Semelhante ao Visual Studio, embora normalmente não seja um problema, tente mantê-lo atualizado, já que muitas vezes os recursos mais recentes que não funcionam são simplesmente porque estou em uma versão que estava perfeitamente bem um mês atrás, mas agora está desatualizada.