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 »

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 »

WPF – Implémentation et utilisation des propriétés de dépendance

Présentation Les propriétés de dépendance sont utilisées dans tous composants WPF. Ces propriétés, différentes des propriétés standards utilisées habituellement dans les classes C#, permettent de mettre en œuvre de nombreuses fonctionnalités de WPF qui ne peuvent utiliser ces propriétés standards (propriétés attachées, styles, animations, liaisons de données, …). Elles possèdent les caractéristiques suivantes : Faible
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# – Sécuriser les chaînes de caractères

Lors de l’exécution d’une application développée avec le langage C#, le contenu des variables de type System.String n’est pas sécurisé. Avec un logiciel tel que ProcessHacker, il est possible de consulter leur contenu. Ainsi, d’un point de vue sécurité, il n’est pas conseillé d’utiliser le type System.String pour créer des variables contenant des données sensibles
Read More »

Langage C# – L’importance des accesseurs (propriétés)

Faites-vous partie des développeurs qui considèrent qu’il n’est pas utile d’utiliser des accesseurs (nommés propriétés dans Visual Studio) dans vos classes (en particulier les classes métier), en préférant l’utilisant directe des attributs (nommés champs dans Visual Studio) ? // Attribut private string _NumeroImmatriculation; // Accesseur permettant d'accéder en lecture / écriture. public string NumeroImmatriculation {
Read More »

Langage C# – L’instruction nameof

Lorsque vous écrivez une instruction avec le langage C#, dans laquelle vous avez besoin d’obtenir le nom d’une classe, interface ou d’un de leur membre, n’écrivez pas ce nom « en dur », au risque de devoir le modifier manuellement, sans pouvoir bénéficier de l’aide du compilateur. Je vous conseille vivement d’utiliser l’instruction nameof. Ainsi
Read More »

Langage C# – Le polymorphisme

Qu’est-ce que le polymorphisme ? Pour comprendre ce concept orienté objet, il est nécessaire de commencer par faire un peu d’étymologie. Ce mot est constitué de deux mots : poly qui signifie plusieurs morphisme qui signifie forme (autrement dit bloc de code) Quels sont les éléments qui peuvent être polymorphes dans une classe ? Uniquement
Read More »