Co přinese C# 6.0?

Ve dnech 2. – 4. dubna proběhla každoroční Microsoft konference Build 2014, která přinesla mnoho zajímavých novinek. Jednou z nich je také preview další verze jazyka C#, označována zatím jako 6.0.

Informace v tomto článku jsou souhrnem toho, co nového zatím bylo zveřejněno. Nejedná se o finální verzi.

Zatím každá nová verze jazyka přinesla alespoň jeden nový rys, který změnil způsob, jakým vyjadřujeme naše úmysly pomocí kódu. Rychlá rekapitulace:

  • C# 2 – generika
  • C# 3 – LINQ
  • C# 4 – dynamic
  • C# 5 – async/await
  • C# 6 – ???

Co to bude v následující verzi zatím není známo, nicméně už teď je k dispozici hrstka syntaktického cukru.

 

INITIALIZERS AND AUTO-PROPERTIES

Konec inicializace auto-properties v konstruktoru nebo pomocí někdy jinak zbytečných privátních členů.

image

 

PRIMARY CONSTRUCTORS

Slouží většina Vašich tříd pouze jako úložiště hodnot? Nebo obsahuje konstruktor pouze inicializace proměnných jako v následující ukázce?

image

Tak teď lze zapsat konstruktor přímo jakou součást definice třídy, a s využitím první zmíněné novinky je inicializace členů velmi stručná.

image

 

USING STATIC

Je Vám to povědomé? To proto, že VB.NET už to dávno umí. Tak teď i C#.

image

 

DECLARATION EXPRESSIONS

Co na to jen říct, než super! Líbí se mi vytvářet proměnné až v místě, kde je opravdu potřebuji.

image

 

EXCEPTION FILTERS

Hurá! VB.NET je má, F# je má a konečně i C# se dočkal.

image

 

INDEXED MEMBERS AND ELEMENT INITIALIZERS

image

SOURHN

Dále je možné používat await v catch a finally blocích, což je vhodné zejména pokud při zachycení výjimky chcete volat potencionálně déle běžící operace a nakonec, inicializátory kolekcí, které v podstatě volají na kolekci metodu Add nyní mohou volat i extension metodu pojmenovanou Add.

Všechny ukázky jsou součástí dokumentu Upcoming Features in CSharp, který lze stáhnout v rámci Roslyn End User Preview přes https://roslyn.codeplex.com/ Je pravděpodobné, že Vás napadne spousta otázek k použití nových konstruktů a většina jich je popsána právě v tomto dokumentu.

Věřím, že si v těchto novinkách najdete něco, co byste rádi používali už teď a zároveň něco, s čím vůbec nesouhlasíte. Všechny tyto názory jsou teď pro C# design team důležitější víc než kdy jindy, protože poprvé máme my vývojáři šanci ovlivnit, co ve frameworku nakonec bude a jakou to bude mít podobu. Proto si “REUP” nainstalujte, vyzkoušejte nové vlastnosti jazyka a řekněte Microsoftu, co si o tom myslíte (po stažení REUP se Vám v účtu na webu Microsoftu objeví tlačítka pro reportování bugů a odesílání feedbacků). Pokud se Vám žádná z nových vlastností nelíbí, nezoufejte. Spousta věcí ještě není naimplementovaných a současné mohou být upraveny na základě feedbacku komunity. Na výše uvedeném webu také můžete v sekci Documentation>CSharp Language Design Notes sledovat vývoj nových vlastností, jak budou přibývat, a lze se i podívat, jakým vývojem prošly ty již implementované.

 

Ondřej Janáček, Microsoft Student Partner