ValueTask (C# 7)

Avancé Cet article fait partie d’une série d’articles sur les apports fonctionnels de C# 7 (i.e. C# 7.0/7.1/7.2/7.3). Sommaire Avant de commencer… async/await FromResult(), FromException() et FromCanceled() ConfigureAwait()   Contexte de synchronisation   TaskScheduler   ConfigureAwait(false) ValueTask Compatibilité avec async/await ValueTask ne convient pas à tous les usages   Cas synchrone   Cas asynchrone IValueTaskSource A partir de C# 7.0,…

Continuer à lire

Pattern matching (C# 7)

Basique Cet article fait partie d’une série d’articles sur les apports fonctionnels de C# 7 (i.e. C# 7.0/7.1/7.2/7.3). Sommaire Avec is Avec switch…case when avec switch…case Utilisation de var avec is ou switch…case Objets de type valeur Support des génériques Point de vue d’architecture A partir de C# 7.0, quelques notions de programmation fonctionnelle sont…

Continuer à lire

Tuple et ValueTuple (C# 7)

Basique Cet article fait partie d’une série d’articles sur les apports fonctionnels de C# 7 (i.e. C# 7.0/7.1/7.2/7.3). Sommaire Amélioration à partir de C# 7.0 Initialisation Utiliser des noms de membres explicites Noms de membres déterminés par des variables existantes Utiliser .Item1, .Item2, …, .Item<N> est toujours possible Affectation entre System.ValueTuple Déconstruction Ignorer une variable…

Continuer à lire

Manipuler des objets de type valeur par référence (C# 7)

Confirmé Cet article fait partie d’une série d’articles sur les apports fonctionnels de C# 7 (i.e. C# 7.0/7.1/7.2/7.3). Sommaire Avant de commencer… Type valeur vs type référence   Objets de type référence   Objets de type valeur Boxing vs Unboxing   Boxing   Unboxing Passage d’argument par référence d’un objet de type valeur Passage en argument d’une référence par…

Continuer à lire