AccueilActualités informatiqueLangage de programmation : le C# 10 terminé ne fonctionne pas seulement...

Langage de programmation : le C# 10 terminé ne fonctionne pas seulement sur .NET 6

C# 10.0 a été publié en même temps que .NET 6, et il est mis en œuvre dans la version 4.0 de la nouvelle variante, basée sur Roslyn, du compilateur du langage C#. La dixième version du langage de programmation n’est officiellement prise en charge par Microsoft que pour une utilisation avec .NET 6. Toutefois, la plupart des fonctionnalités du langage peuvent également être utilisées dans .NET Core, .NET Framework, Mono et Xamarin en définissant le paramètre <LangVersion&gt ; dans le fichier de projet (.csproj) sur 10.0. La figure 1 donne un aperçu des nouvelles caractéristiques du langage :

Aperçu des caractéristiques du langage dans C# 10 sur GitHub (Fig. 1)

(Image : GitHub)

Chronique du développement de .NET 6

Ceux qui s’intéressent au développement de la nouvelle version LTS de .NET peuvent en prendre connaissance dans les nouvelles d’accompagnement du Dr Holger Schwichtenberg. Voici un aperçu chronologique :

  • 30 novembre 2020 : Microsoft présente les premiers plans pour .NET 6

  • 18 février 2021 : Microsoft publie la première version préliminaire de .NET 6

  • 12 mars 2021 : Développement multiplateforme – un premier aperçu de MAUI dans .NET 6.0 Preview 2

  • 9 avril 2021 : Blazor fonctionne également sur le bureau dans .NET 6 Preview 3

  • 26 mai 2021 : Build 2021 – .NET 6 Preview 4 avec des outils pour le développement multiplateforme

  • 18 juin 2021 : .NET 6 – Le cinquième aperçu apporte de nouveaux outils et une nouvelle coquille pour MAUI.

  • 15 juillet 2021 : .NET 6 – L’aperçu 6 met l’accent sur le développement Web.

  • 18 août 2021 : .NET 6 – l’aperçu 7 apporte des modèles et des API mis à jour

  • 15 septembre 2021 : prêt pour la production – première version candidate de .NET 6

  • 13 octobre 2021 : .NET 6 entre dans la dernière ligne droite avec la RC2

Sommaire

En ce qui concerne les simplifications syntaxiques, Microsoft s’est cette fois-ci attaqué aux espaces de noms en particulier. Avec les espaces de noms globaux (global using Name.Name.Name;), il est possible d’éviter de devoir utiliser les mêmes espaces de noms à plusieurs reprises dans chaque fichier C#. using-dans chaque fichier C#. En activant les espaces de noms implicites dans le fichier de projet, les développeurs peuvent automatiquement importer un certain nombre d’espaces de noms courants de la bibliothèque de classes .NET, notamment System, System.IO, System.Linq et System.Threading.Tasks.

.NET 6 : événement en ligne pour la nouvelle version LTS

Online-Konferenz zu .NET 6 am 23.11.2021, von  und IT-Visions.de zum neuen LTS-Release

Le 23 novembre 2021, les événements suivants auront lieu et la société du Dr Holger Schwichtenberg IT-Visions.com un événement en ligne sur la nouvelle version LTS : .NET 6 est la base de tous les programmes qui s’appuient sur la plateforme de développement de Microsoft. La conférence en ligne donne une vue d’ensemble et aide à évaluer si le changement en vaut déjà la peine.

C’est de cela qu’il s’agit :

  • Migration : Quand et comment passer à .NET 6
  • Quelles sont les nouveautés de .NET 6 ?
  • Découvrez les nouvelles fonctionnalités d’ASP.NET Core 6 et de Blazor 6.
  • Principales innovations de C# 10
  • Utilisation de WinUI 3 dans vos propres applications
  • Outlook sur .NET 7

Une journée de concentré d’expérience .NET

Des experts confirmés en .NET et C# présenteront les nouveautés de la version LTS en ligne pendant une journée et répondront aux préoccupations des participants concernant la nouvelle version et la migration à venir lors des discussions et des séries de questions directes. En plus des sept présentations de 45 minutes, le Dr Holger Schwichtenberg animera une séance de questions et de discussion. Le 25 novembre, les participants pourront approfondir leurs connaissances lors d’un atelier pratique avec lui (l’atelier est complet, mais les personnes intéressées peuvent s’inscrire sur la liste d’attente).

  • Atelier en ligne « Passer de .NET Framework à .NET 6 » (9 h – 16 h)

Les billets pour la conférence sont disponibles au prix de 199 euros (plus 19 % de TVA), et une réduction est prévue pour les groupes, les élèves et les étudiants sur demande. Vous trouverez de plus amples informations dans le programme de la conférence.

Alors qu’auparavant, les espaces de noms devaient toujours être écrits avec des accolades autour des déclarations de type, les développeurs peuvent désormais créer un espace de noms au niveau du fichier avec l’instruction namespace Name.Name.Name; pour un fichier entier. Cela élimine le besoin d’un niveau d’indentation, d’autant plus que la plupart des fichiers C# ne déclarent qu’un seul espace de noms de toute façon.

Les types d’enregistrement concis introduits dans C# 9.0, qui étaient auparavant toujours des classes sur la mémoire du tas, sont maintenant également disponibles en tant que record struct pour la pile. Alors qu’avec un record class les propriétés créées par le constructeur primaire sont toujours immuables après la phase de construction (Immutable), le nouveau type vous donne le choix entre l’interchangeabilité (record struct) ou l’immuabilité (record readonly struct).

Les types d’enregistrements peuvent utiliser la méthode ToString() avec l’ajout sealed pour éviter que les types d’enregistrements hérités ne les écrasent.

Les chaînes interpolées, que Microsoft avait déjà introduites dans C# 6.0, peuvent désormais être utilisées par les développeurs C# pour attribuer des valeurs aux constantes. Toutefois, la condition préalable est que les espaces réservés utilisés soient tous remplis de constantes au préalable.

Le modèle de propriété étendu permet des comparaisons au lieu de { Prop1: { Prop2: pattern } } En C# 10.0, le modèle de propriété étendu permet également d’utiliser la notation par points, plus compacte : { Prop1.Prop2: pattern }.

La fonction de déconstructions mixtes permet un mélange d’affectation et d’initialisation dans la déconstruction des tuple : (x, int y) = point.

Pour les expressions lambda, les développeurs peuvent utiliser l’option var-et utiliser la nouvelle ligne de type pour les lambdas ou spécifier explicitement un type de retour. La nouvelle version prend également en charge les annotations ( » attributs .NET « ) pour les paramètres et le type de retour des expressions lambda.

Les générateurs de code source introduits dans C# 9.0 peuvent désormais être utilisés avec la nouvelle interface Microsoft.CodeAnalysis.IIncrementalGenerator de manière incrémentielle et donc de travailler plus rapidement.

Lire aussi

Dans la semaine à venir développeur heise a publié un article technique plus long qui présente en détail les caractéristiques du langage C# 10. Si vous voulez y jeter un coup d’œil et l’essayer à l’avance : la version 4 de la variante du compilateur basée sur Roselyn est disponible dans le SDK .NET 6 ou indépendamment dans le paquet NuGet Microsoft.Net.Compilers. En outre, le compilateur C# 10 est inclus dans Visual Studio 2022 v17.0, qui a été publié lundi.

Plus d'articles