C# – Optimiser les performances des opérations ensemblistes avec la classe HashSet

En tant que concepteur / développeur d’applications de gestion de données avec la plateforme Microsoft .Net et le langage C#, je cherche toujours à optimiser les performances des algorithmes que j’implémente. Dans cet article, je vais vous présenter la classe System.Collections.Generic.HashSet et les performances qu’elle propose par rapport à la classe System.Collections.Generic.List lors d’opérations ensemblistes
Read More »

C# 8 – Utiliser le mot clé « using » pour déclarer des variables locales

En C#, le mot clé using est utilisé pour importer des espaces de nom. Il est aussi utilisé pour délimiter l’utilisation d’un objet dans un algorithme avec une libération anticipée de la mémoire, à condition que la classe instanciée pour créer cet objet implémente l’interface IDisposable. Voici un exemple : using (StreamReader streamReader = new
Read More »

Langage C# – Convertir des chaînes de caractères en nombres décimaux

La conversion de données numériques sous forme de chaîne de caractères en nombre décimaux peut être problématique en fonction des données fournies à l’application, des paramètres régionaux du système d’exploitation sur lequel l’application s’exécute et la configuration de la culture du thread exécutant le code, … Dans cet article, je vous propose une méthode de
Read More »

Langage C# – Les filtres d’exception

La version 6 du langage C# a proposé les filtres d’exception, qui permettent d’ajouter une condition sous forme d’expression booléenne, sur les clauses catch des gestionnaires d’exception. Voici un exemple : try {     var i = int.Parse("123487894949"); } catch (OverflowException ex) when (ex.Data != null) {     Console.WriteLine($"Erreur de conversion de données
Read More »

Langage C# 8 – Les types références nullables

Présentation Dans la version 8 du langage C#, Microsoft propose les types références nullables. Pourtant, jusqu’à la version 7 de ce langage, les types référence étaient déjà qualifiés de « nullable ». En quoi consiste donc cette nouveauté ? L’objectif de cette nouveauté Pour rendre les applications plus robustes, il est important de pouvoir anticiper
Read More »

Langage C# 8 – Des nouveautés, mais pour quels frameworks ?

En 2019, la version 8 du langage C# sera publiée. Cette version propose de nombreuses nouveautés qui feront l’objet de mes prochains messages sur ce blog : les types références nullables, les flux asynchrones, l’accès aux éléments des tableaux via des index et des plages d’index, l’implémentation par défaut des membres dans les interfaces, les
Read More »