Amélioration de “fixed” (C# 7)

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 C# 7.3   GCHandle Fixed pattern   Implémentation de GetPinnableReference() Utiliser fixed pour déclarer un buffer C# 7 Fonctionnalités C# 7 Précisions sur les versions de C# Fonctions locales Arguments out d’une méthode Eviter les déclarations de variables…

Continuer à lire

Structure exclusivement stockée dans la pile: “ref struct” (C# 7, C# 8.0)

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) et C# 8.0. Sommaire readonly struct ref struct Managed pointer Span<T>   Utilisation de Span<T> suivant le framework   Fonctionnement stackalloc   Quantité de mémoire allouée sur la pile   Utilisation de stackalloc dans une expression readonly ref struct ref struct et…

Continuer à lire

Pattern matching (C# 7, C# 8.0)

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) et C# 8.0. Sommaire Avec is Avec switch Switch…case   when avec switch…case var pattern avec is ou switch…case Expression switch   Discard pattern   when avec une expression switch   var pattern   Tuple pattern   Positional pattern   Property pattern Objets de type…

Continuer à lire

Tuple et ValueTuple (C# 7)

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 inutile…

Continuer à lire

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

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 référence…

Continuer à lire