Nouveautés pour C#, F# et Visual Basic dans .NET 6 — Visual Studio Magazine

Nouvelles

Quoi de neuf pour C#, F# et Visual Basic dans .NET 6

Nouveautés pour C#, F# et Visual Basic dans .NET 6 — Visual Studio Magazine

Alors, avec l’arrivée des versions unificatrices de .NET 6 et 64 bits de Visual Studio 2022 la semaine dernière, quoi de neuf en C#, F# et Visual Basic ?

Beaucoup, dit Kathleen Dollard de Microsoft, gestionnaire de programme principal, .NET, qui a tout expliqué dans une série d’articles de blog. Pour ceux qui manquent de temps, voici un résumé, avec des liens pour ceux qui veulent approfondir :

C# 10

En détaillant les nouvelles caractéristiques et fonctionnalités du langage de programmation phare de Microsoft, Dollard a commencé par des using directives, qui permettent aux développeurs d’utiliser des types définis dans un espace de noms sans spécifier l’espace de noms complet de ce type. C# 10 propose une nouvelle directive using globale et utilisations implicites pour réduire le nombre d’utilisations nécessaires, qui sont précisées en tête de chaque fiche. Les utilisations implicites, quant à elles, ajoutent automatiquement using directives pour des types de projets spécifiques.

Les espaces de noms à portée de fichier sont une autre nouvelle fonctionnalité, permettant un format plus simple dans les fichiers contenant un seul espace de noms. Ce format est l’espace de noms XYZ ; (notez le point-virgule et l’absence d’accolades) :

namespace X.Y.Z;

using System;

class X
{
}

Parmi les autres faits saillants, mentionnons :

  • Améliorations pour les expressions lambda et les groupes de méthodes : “Nous avons apporté plusieurs améliorations aux types et à la syntaxe entourant les lambdas”, a déclaré Dollard. “Nous nous attendons à ce qu’ils soient largement utiles, et l’un des scénarios moteurs a été de rendre les API minimales ASP.NET encore plus simples.”
  • Améliorations des structures : “C# 10 introduit des fonctionnalités pour les structures qui offrent une meilleure parité entre les structures et les classes. Ces nouvelles fonctionnalités incluent des constructeurs sans paramètre, des initialiseurs de champs, des structures d’enregistrement et des expressions.” En savoir plus sur les types naturels pour les lambdas et les groupes de méthodes, les types de retour pour les lambdas, les attributs sur les lambdas et plus ici.
  • Améliorations des chaînes interpolées : “Lorsque nous avons ajouté des chaînes interpolées à C#, nous avons toujours pensé qu’il y avait plus à faire avec cette syntaxe sur toute la ligne, à la fois pour les performances et l’expressivité. Avec C# 10, ce moment est venu !” Pour en savoir plus sur les gestionnaires de chaînes interpolées (“un modèle de bibliothèque qui permet à une API de ‘prendre en charge’ la gestion d’une expression d’argument de chaîne interpolée”) et les chaînes interpolées constantes (“Si tous les trous d’une chaîne interpolée sont des chaînes constantes, alors le la chaîne résultante est maintenant également constante. Cela vous permet d’utiliser la syntaxe d’interpolation de chaîne à plusieurs endroits, comme les attributs”) allez ici.

Les petites améliorations répertoriées par Dollard incluent :

Plus d’informations sur les nouveautés C# sont disponibles dans le mois dernier Magazine Visual Studio article, “Questions-réponses avec Jim Wooley : C# passé, présent et au-delà.”

Les gens pensent [C# is] juste une syntaxe différente de JavaScript, Java, C, etc. et ne prenez pas le temps de comprendre les différences dans les modèles de mémoire, les pointeurs d’objet. Souvent, ils produisent des systèmes qui ont des problèmes de performances, ou qui ne fonctionnent pas correctement parce qu’ils ne comprenaient pas ce que faisait leur code.”

Jim Wooley, architecte de solutions, Slalom Consulting

“Certaines fonctionnalités améliorent les performances des API du framework, comme Span, les opérateurs de plage et les entiers natifs”, a déclaré Woolley. , et les déclarations d’espace de noms à portée de fichier. Certaines fonctionnalités pourraient même être considérées comme controversées, notamment les tuples, les types de référence nullables et les implémentations d’interface par défaut.

Jason Bock a également apporté des informations sur C# 10 dans l’article récent, “Q&A with Jason Bock: What’s New in C# 10”.

“Un aspect à surveiller est l’évolution de C # au fil du temps et la possibilité d’ajouter de nouvelles fonctionnalités avec potentiellement une rupture du langage pour prendre en charge un concept souhaitable. Ce n’est pas un problème facile à résoudre.”

Jason Bock, MVP de Microsoft

Lorsqu’on lui a demandé de quelle fonctionnalité C# 10 il était le plus excité — dont il ne pourrait pas se passer — il a répondu : “Les membres abstraits statiques dans les interfaces sont une fonctionnalité de prévisualisation, donc cela ne compte techniquement pas, mais les développeurs pourront Expérimentez-le.

La fonctionnalité d’expression de l’argument de l’appelant n’obtient pas autant de visibilité que les directives d’utilisation globales et les améliorations lambda, mais cela facilitera les scénarios tels que la journalisation pour déterminer ce qui a été fait sur le site d’appel. J’ai le sentiment que cela peut être utilisé d’une manière qui va au-delà de la capture de l’expression sous forme de chaîne.”

Fa # 6

La dernière édition du langage de programmation fonctionnel de Microsoft progresse dans le but de faciliter l’écriture de code robuste, succinct et performant pour les développeurs, a déclaré Dollard.

“F # 6 consiste à rendre F # plus simple et plus performant”, a-t-elle expliqué dans un article précédent. “Cela s’applique à la conception du langage, à la bibliothèque et aux outils. Un objectif majeur de l’évolution à long terme du langage est de supprimer les cas particuliers du langage qui surprennent les utilisateurs ou constituent des obstacles inutiles sur la voie de l’adoption. Nous sommes très heureux d’avoir travaillé avec la communauté F# dans cette version pour rendre le langage F# plus simple, plus performant et plus facile à apprendre.”

Voici les points saillants de son nouveau billet sur F# 6 dans .NET 6 :

Les autres points forts de l’article “Quoi de neuf dans F# 6” incluent :

.

Leave a Comment