Novidades do C# 7.0
Renato Groffe
◦ Microsoft Most Valuable Professional (MVP)
◦ Multi-Plataform Technical Audience Contributor
◦ Mais de 15 anos de experiência na área de Tecnologia
◦ Autor Técnico e Palestrante
Contatos
http://renatogroffe.net/
/renatogroffe /in/renatogroffe
/canaldotnet /renatogroffe
/@renato.groffe /renatogroff
Agenda
◦ A evolução recente do .NET Framework e da linguagem C#
◦ Novos recursos que integram o C# 7.0
A evolução recente do .NET Framework e da linguagem C#
.NET – Recapitulando
◦ Desenvolvido pela Microsoft
◦ Primeira versão estável lançada em 2002
◦ Web, mobile, cloud, desktop, IoT, games,
Bots...
C# – Recapitulando
◦ Também desenvolvido pela Microsoft
◦ Surgiu em 2000
◦ Linguagem mais popular da plataforma .NET
C# 5.0 – Junho/2013
◦ .NET Framework 4.5
◦ Integrando inicialmente o Visual Studio
2012/2013
◦ Novos recursos: async/await, Caller
Information
C# 6.0 – Julho/2015
◦ .NET Framework 4.6
◦ Integrando inicialmente o Visual Studio
2015
◦ Um novo compilador (agora open
source): Roslyn
C# 6.0 – Julho/2015
Novos recursos:
◦ String Interpolation
◦ Null-conditional operator
◦ Exception Filters
◦ Expression-bodied Members
◦ Auto-Property Initializers
◦ Using Static
C# 6.0 – Julho/2015
Novos recursos (continuação):
◦ Chamadas assíncronas em blocos catch
e finally
◦ O operador nameof
◦ Inicialização de propriedades somente
leitura a partir de um construtor
◦ Inicialização de instâncias do tipo
Dictionary
Surge o .NET Core
.NET Core – Visão geral
◦Desenvolvimento iniciado em 2014
◦Lançamento da versão RTM em
Julho/2016
ASP.NET Core e .NET Core – Visão geral
◦Multiplataforma: Windows, Linux e
Mac
◦Open source e hospedado no GitHub
◦Atualmente na versão 1.1 (2.0 a
caminho)
.NET Core – Ferramentas Microsoft
◦Visual Studio 2017
◦Visual Studio Code (Windows, Linux e Mac)
◦Visual Studio for Mac
.NET Core – Tipos de aplicações possíveis
◦ASP.NET Core Web Apps
◦ASP.NET Core Web APIs
◦Aplicações Console
◦Bibliotecas (Packages)
◦Projetos de Testes (MS Test, xUnit)
E quanto ao futuro do .NET Core?
.NET Core – Algumas considerações
◦ Muitos frameworks populares ainda não
contam com uma versão estável para o .NET
Core
◦ Não confundir o .NET Core com o .NET Full
(.NET Framework 4.6/4.7, compatível apenas
com ambientes Windows)
◦ Está previsto para o segundo semestre de 2017
o lançamento das versões 2.0 do .NET Core e do
.NET Standard
Novidades do C# 7.0
C# 7.0
◦ Apresentado durante o Build 2016
(Março/2016)
◦ Disponibilizado oficialmente durante o
lançamento do Visual Studio 2017
C# 7.0 – Alguns recursos
◦ Binary Literals
◦ Digit Separators
◦ Local Functions
◦ Ref Returns
◦ Tuplas
◦ Pattern Matching
◦ Out Variables
◦ A classe ValueTask
◦ Novos Expression-bodied members
Exemplos práticos – C# 7.0
Exemplos práticos
Para ter acesso aos fontes utilizados nesta apresentação acesse:
https://github.com/renatogroffe/CSharp7_VS2017
Obrigado!

Novidades do C# 7.0 - Julho-2017

  • 1.
  • 2.
    Renato Groffe ◦ MicrosoftMost Valuable Professional (MVP) ◦ Multi-Plataform Technical Audience Contributor ◦ Mais de 15 anos de experiência na área de Tecnologia ◦ Autor Técnico e Palestrante
  • 3.
  • 4.
    Agenda ◦ A evoluçãorecente do .NET Framework e da linguagem C# ◦ Novos recursos que integram o C# 7.0
  • 5.
    A evolução recentedo .NET Framework e da linguagem C#
  • 6.
    .NET – Recapitulando ◦Desenvolvido pela Microsoft ◦ Primeira versão estável lançada em 2002 ◦ Web, mobile, cloud, desktop, IoT, games, Bots...
  • 7.
    C# – Recapitulando ◦Também desenvolvido pela Microsoft ◦ Surgiu em 2000 ◦ Linguagem mais popular da plataforma .NET
  • 8.
    C# 5.0 –Junho/2013 ◦ .NET Framework 4.5 ◦ Integrando inicialmente o Visual Studio 2012/2013 ◦ Novos recursos: async/await, Caller Information
  • 9.
    C# 6.0 –Julho/2015 ◦ .NET Framework 4.6 ◦ Integrando inicialmente o Visual Studio 2015 ◦ Um novo compilador (agora open source): Roslyn
  • 10.
    C# 6.0 –Julho/2015 Novos recursos: ◦ String Interpolation ◦ Null-conditional operator ◦ Exception Filters ◦ Expression-bodied Members ◦ Auto-Property Initializers ◦ Using Static
  • 11.
    C# 6.0 –Julho/2015 Novos recursos (continuação): ◦ Chamadas assíncronas em blocos catch e finally ◦ O operador nameof ◦ Inicialização de propriedades somente leitura a partir de um construtor ◦ Inicialização de instâncias do tipo Dictionary
  • 12.
  • 13.
    .NET Core –Visão geral ◦Desenvolvimento iniciado em 2014 ◦Lançamento da versão RTM em Julho/2016
  • 14.
    ASP.NET Core e.NET Core – Visão geral ◦Multiplataforma: Windows, Linux e Mac ◦Open source e hospedado no GitHub ◦Atualmente na versão 1.1 (2.0 a caminho)
  • 15.
    .NET Core –Ferramentas Microsoft ◦Visual Studio 2017 ◦Visual Studio Code (Windows, Linux e Mac) ◦Visual Studio for Mac
  • 16.
    .NET Core –Tipos de aplicações possíveis ◦ASP.NET Core Web Apps ◦ASP.NET Core Web APIs ◦Aplicações Console ◦Bibliotecas (Packages) ◦Projetos de Testes (MS Test, xUnit)
  • 17.
    E quanto aofuturo do .NET Core?
  • 18.
    .NET Core –Algumas considerações ◦ Muitos frameworks populares ainda não contam com uma versão estável para o .NET Core ◦ Não confundir o .NET Core com o .NET Full (.NET Framework 4.6/4.7, compatível apenas com ambientes Windows) ◦ Está previsto para o segundo semestre de 2017 o lançamento das versões 2.0 do .NET Core e do .NET Standard
  • 19.
  • 20.
    C# 7.0 ◦ Apresentadodurante o Build 2016 (Março/2016) ◦ Disponibilizado oficialmente durante o lançamento do Visual Studio 2017
  • 21.
    C# 7.0 –Alguns recursos ◦ Binary Literals ◦ Digit Separators ◦ Local Functions ◦ Ref Returns ◦ Tuplas ◦ Pattern Matching ◦ Out Variables ◦ A classe ValueTask ◦ Novos Expression-bodied members
  • 22.
  • 23.
    Exemplos práticos Para teracesso aos fontes utilizados nesta apresentação acesse: https://github.com/renatogroffe/CSharp7_VS2017
  • 24.