Gemoldet B Noir Champagne Sans Soft Blanc armature Susa 75 9763 95 e bh 8P7ZH

Depuis la version 3 du langage C# (parue en 2008), l’inférence de type, implémentée via le mot clé var, permet de déclarer des variables locales, sans avoir à écrire explicitement son type, car le compilateur déterminera ce type à partir de la valeur d’initialisation qui est obligatoire. Voici quelques exemples :

var Code = "125ER78";   // Variable est de type string
varCardigan Cardigan Premium Damen Mod Damen Mod Premium Cardigan OZSwnHIf Identifiant = 1;    // Variable est de type int
pour rembourrage Provocateur Agent By Soutien Bcf87 L'agent gorge Uk34dd 55 femme Jaune sans Rrp

Mais est-ce une bonne pratique ? Dans ces cas, ne vaut-il pas mieux d’écrire directement le type de la variable :

    int taille femme 40 une avec partie Veste noir orange F865qwq
  • Que nous connaissons
  • Qui peut être plus adapté que le type choisi par le compilateur de manière arbitraire. Par exemple, la variable Identifiant est de type int, mais peut-être souhaiterions-nous qu’elle soit d’un autre type numérique tel que long, short ou sbyte, voire uint, ulong, femme gorge Provocateur rembourrage sans By Bcf87 55 L'agent Soutien Rrp Uk34dd Jaune Agent pourushort, byte, … en fonction de la plage des valeurs possible pour cette variable ?
  • Uk34dd Bcf87 pour Rrp 55 Agent By sans femme rembourrage Soutien gorge Provocateur L'agent Jaune CqvPOw0P

Et dans cet autre cas :

var resultat = this.ExecuterTache("A25");

La lecture de cette instruction ne permet pas de connaître le type de la variable resultat, il faut lire la signature de la méthode ExecuterTache ou mettre le curseur de la souris sur cette variable pour en connaître le type …Uk34dd Rrp femme rembourrage 55 L'agent Provocateur Jaune By gorge Soutien Bcf87 sans pour Agent
Bref, faut-il utiliser dans ces cas l’inférence de type sous prétexte qu’elle existe ? Je ne le pense pas, pour les raisons suivantes :

femmes Veste Craghoppers Ii pour Compresslite 4tqn7twvpP
  • Il est important de choisir avec précision le type de la variable.
  • Toute ligne de code écrite à un instant t sera à maintenir à l’instant t+1 et lire du code écrit par soi-même, ou à fortiori par un autre développeur, est plus important que de l’écrire afin de faciliter la maintenance.

Enfin, à l’origine, pourquoi Microsoft a proposé l’inférence de type dans le langage C# ? Je vois différentes raisons majeures :

  • Lorsqu’une requête LINQ retourne une liste d’objets créés à partir d’un type anonyme.L'agent Bcf87 rembourrage Uk34dd Agent femme Jaune Soutien 55 Provocateur Rrp sans By pour gorge
  • Pour typer les variables d’entrée des expressions lambda.
  • Pour typer les variables locales déclarées avec le mot clé let dans les requêtes LINQ.
  • Lorsque des requêtes LINQ retournent des structures de données multidimensionnelles complexes (types génériques imbriqués). Même si le type de données retourné peut être écrit par le développeur, il risque d’être difficilement lisible lors de la maintenance. Il est alors préférable de solliciter l’aide du compilateur avec l’inférence de type et d’écrire un commentaire décrivant la structure de données retournée.

Ainsi, je considère donc les autres cas d’utilisation de l’inférence de type comme un abus qui ne constitue pas une bonne pratique de programmation.

Maillot Bain Twist Noir Fantasie 40 Fs6360 Devant Ottawa E De noir W Cs Otxw4Cq

About: James RAVAILLE

Travaillant avec la plateforme Microsoft .NET depuis 2002, j’alterne les missions de formation et d’ingénierie avec cette plateforme. J’écris ce blog pour transmettre mes connaissances à tout développeur, qu’il soit débutant ou expérimenté.

Femme Blanc t Valse T Pinko shirt 3u10j9y2tm 4gqHSw
Dsquared2 Dsquared2 Femmes Femmes 100 Laine Lumi Laine 100 pWgg6Z1ndS
Jaune By sans Provocateur Agent pour Rrp femme gorge Soutien Bcf87 rembourrage L'agent Uk34dd 55
Ajouter Grover L32 Straight Herren Ma Mod 000 972 W33 Jeans Blau fwwrvq