Upload
vinicius-mussak
View
220
Download
0
Embed Size (px)
Citation preview
Globalcode – Open4education
Quem sou eu?
Francano
Estudante de Sistemas de Informação
Desenvolvedor de soluções/bugs na EngSolutions
Microsoft Student Partner
Microsoft Certified Professional
Globalcode – Open4education
Agenda
Novidades do Visual Studio 2015
Debug de expressões lambda
NuGet package manager
Novidades do C# 6Using static
Auto-property initializers
Expression-bodied members
Null-conditional operator
String interpolation
Exception filters
Operador nameof
Chamadas assíncronas em blocos try-catch-finally
Globalcode – Open4education
Using static
Sem C# 6 Com C# 6
using System;
Math.Pow(10, 20);
ClasseEstatica.Metodo();
using static System.Math;
Pow(10, 20);
Metodo();
Globalcode – Open4education
Auto-property initializers
Sem C# 6
Com C# 6
public string Cidade { get; set; } = "Porto Alegre";
ConstrutorDaSuaClasse(){
Cidade = "Porto Alegre";}
public string Cidade { get; set; }
Globalcode – Open4education
Expression-bodied members
Sem C# 6
Com C# 6
public string NomeCompleto => Nome + " " + Sobrenome;
public string NomeCompleto {
get { return Nome + " " + Sobrenome; } }
public string Nome { get; set; }public string Sobrenome { get; set; }
Globalcode – Open4education
Null-conditional operator
Sem C# 6
Com C# 6
return bairro.Cidade?.Nome;
return bairro.Cidade != null? bairro.Cidade.Nome: string.Empty;
public class Bairro {
public Cidade Cidade { get; set; }}
Globalcode – Open4education
String interpolation
Sem C# 6
Com C# 6
var x = nome + ", " + idade + " anos";var y = string.Format("{0:000\\.000\\.000\\-00}", cpf);
long cpf = 18312864326;string nome = "Zézinho da Silva";byte idade = 15;
var x = $"{nome}, {idade} anos";var y = $"CPF: {cpf:000\\.000\\.000\\-00}";
Globalcode – Open4education
Exception filters
Sem C# 6
Com C# 6
catch(Exception ex){
if (Debugger.IsAtached)Console.WriteLine(ex.Message);
elseConsole.WriteLine("Ocorreu um erro :(");
}
catch(Exception ex) when (Debugger.IsAtached){
Console.WriteLine(ex.Message);}catch(Exception){
Console.WriteLine("Ocorreu um erro :(");}
Globalcode – Open4education
Operador nameof
Sem C# 6
Com C# 6
nameof(nomeDaVariavel);
var nomeDaVariavel = "Qualquer coisa";
static string GetName(Expression<Func<T>> expr){
return ((MemberExpression)expr.Body).Member.Name;}
GetName(() => nomeDaVariavel);
Globalcode – Open4education
Chamadas assíncronas em blocos try-catch-finally
public static async void MetodoQualquer(){
try{
throw new Exception();}catch (Exception){
await TestAsync();}finally{
await TestAsync();}
}