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 »

Langage C# – Exécuter une requête LINQ de « manière parallèle »

LINQ For Object (Language INtegrated Query) est un langage intégré au langage C# permettant d’exécuter une requête sur une grappe d’objets. Paru en 2008, il a permis de révolutionner la manière dont les développeurs écrivaient leurs traitements algorithmiques, en ne faisant plus obligatoirement appel aux structures itératives (telles que for each …) et conditionnelles (telles
Read More »

C# – Optimisation des concaténations de chaînes de caractères

Lorsque vous devez concaténer un important volume de chaînes de caractères dans un traitement répétitif, l’utilisation de l’opérateur de concaténation « + » n’est pas recommandé car il dégrade les performances de manière significative. Voici un exemple créant une chaîne de caractères en concaténant 50000 nombres : string sChaine; Stopwatch stopwatch; int[] listeNombres; // Génération
Read More »