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 »

Langage C# – Les types nullables

Présentation Les types nullables sont des types référence permettant de déclarer des variables représentant des types valeur qui peuvent contenir la valeur null. Seuls les types valeur ont un type nullable correspondant (les types référence sont déjà intrinsèquement nullable). Leur utilité est double : Pouvoir écrire des algorithmes avec des variables de type valeur dont
Read More »

Langage C# – Délimiter l’utilisation d’objets avec l’instruction « using »

Dans le langage C#, l’instruction using permet d’importer des espaces de noms d’assemblys référencés. Cette instruction a aussi une autre utilisation très utile. Elle permet de délimiter précisément l’utilisation d’un objet dans un bloc de code. Voici un exemple permettant d’enregistrer un message dans un fichier : public void EcrireMessage(string aMessage) {     using
Read More »

Langage C# – La pile et le tas

Lors de l’exécution de l’application, les données contenues dans les variables sont stockées dans deux structures en mémoire, appelées la pile et le tas. Soit les instructions suivantes : string s = "azerty"; int i = 5; Voici une illustration du stockage des données en mémoire : Pourquoi cette différence ? Parce que le type
Read More »

Langage C# – Créer facilement des objets qui pointent vers du code (délégués et expressions lambda)

Depuis 2008, au travers du Framework .NET, Microsoft propose deux délégués génériques permettant créer facilement des objets pointant vers du code : Func et Action. Les délégués (sous une autre forme) existaient déjà auparavant. Leur apparition a révolutionné le développement d’application en permettant : Aux procédures et fonctions d’accepter non seulement des données en paramètre,
Read More »