Les fonctionnalités C# 13

Le but de cet article est de résumer et d’expliquer les fonctionnalités de C# 13.0. Dans un premier temps, on explicitera le contexte de C# 13.0 par rapport aux autres composants (frameworks, IDE, compilateur etc…) qui permettent de l’utiliser. Ensuite, on rentrera dans le détail des fonctionnalités. Sommaire Précisions sur les versions de C# Chronologie…

Continuer à lire

Améliorations concernant les variables ref et les ref struct (C# 13)

Cet article fait partie d’une série d’articles sur les nouveautés fonctionnelles de C# 13. La version C# 13 introduit plusieurs améliorations concernant les ref struct et les variables de référence ref: Les ref struct ont désormais la capacité d’implémenter des interfaces, Une nouvelle contrainte de type générique permet l’utilisation d’objets ref struct, Les variables de…

Continuer à lire

Nouveau Lock (C# 13/.NET 9)

Cet article fait partie d’une série d’articles sur les nouveautés fonctionnelles de C# 13. A partir de C# 13/.NET 9, un nouvel objet System.Threading.Lock est disponible pour simplifier la gestion des sections critiques dans les applications multithread. Cet article présente les différentes syntaxes possibles avec ce nouvel objet, compare ses performances avec le mot-clé lock…

Continuer à lire

Les fonctionnalités C# 12

Etienne Girardet Le but de cet article est de résumer et d’expliquer les fonctionnalités de C# 12.0. Dans un premier temps, on explicitera le contexte de C# 12.0 par rapport aux autres composants (frameworks, IDE, compilateur etc…) qui permettent de l’utiliser. Ensuite, on rentrera dans le détail des fonctionnalités. Sommaire Précisions sur les versions de…

Continuer à lire

Inline arrays (C# 12)

Cet article fait partie d’une série d’articles sur les apports fonctionnels de C# 12. C# 12.0 Cette fonctionnalité est très avancée. Elle convient à un besoin très précis d’optimisation et très peu nombreux seront les développeurs qui auront le réel besoin de s’en servir. Il est probable que Microsoft a eu un besoin d’optimisation dans…

Continuer à lire

Async/await en bref…

Cet article fait partie d’une série d’articles sur async/await. Async/Await Modèles de programmation asynchrone Modèle de programmation asynchrone Modèle asynchrone basé sur des événements Modèle asynchrone basé sur des Tasks Async/await en bref… Fonctionnement général Async Await Modèle awaitable Les mot-clés async/await sont apparus avec C# 5.0 et la version 4.5 du framework .NET. Sous…

Continuer à lire

Modèles de programmation asynchrone (async/await)

Cet article fait partie d’une série d’articles sur async/await. Async/Await Modèles de programmation asynchrone Modèle de programmation asynchrone Modèle asynchrone basé sur des événements Modèle asynchrone basé sur des Tasks Async/await en bref… Fonctionnement général Async Await Modèle awaitable Quelque soit le type d’application, il peut être nécessaire de vouloir exécuter des traitements de façon…

Continuer à lire

Aide-mémoire pattern matching C#

Cet article est un aide-mémoire des motifs les plus courants de pattern matching suivant les versions de C# pour aider à se rappeler de la syntaxe: Motif Version C# Remarques et exemples Null pattern C# 7.0 Test pour vérifier si une variable est nulle Vehicle vehicle = new Car(); if (vehicle is null) Console.WriteLine($”{nameof(vehicle)} is…

Continuer à lire