Maison > développement back-end > C++ > Quand devriez-vous - et ne devriez-vous pas - utiliser «var» pour le type d'inférence en C #?

Quand devriez-vous - et ne devriez-vous pas - utiliser «var» pour le type d'inférence en C #?

Patricia Arquette
Libérer: 2025-02-02 05:47:09
original
432 Les gens l'ont consulté

When Should You—and Shouldn't You—Use `var` for Type Inference in C#?

La meilleure pratique de l'utilisation de types en inférences des mots clés

dans le C # var C # 3.0 Introduit

Mots-clés pour permettre aux types de déduire le type de variables, simplifiant ainsi le code et améliorant la lisibilité. Cependant, une utilisation excessive de peut également causer des problèmes de sécurité de type.

var var Utilisation incorrecte

en utilisant var réduira la lisibilité et la maintenance du code dans les circonstances suivantes, augmentera les erreurs potentielles:

var L'utilisation raisonnable de

foreach (var item in someList) { // 'item' 的类型不明确
    // ...
}
var something = someObject.SomeProperty; // 'something' 的类型不明确
var something = someMethod(); // 'something' 的类型不明确
Copier après la connexion

dans les circonstances suivantes, l'utilisation de peut améliorer la lisibilité du code sans affecter la sécurité du type: var

requête Linq et

var

var l = new List<string>(); //  `l` 的类型一目了然
var s = new SomeClass(); // `s` 的类型一目了然
Copier après la connexion
L'utilisation de

dans la requête Linq est plus subtile: var Bien que le compilateur puisse déduire le type de

, ses informations de type ne sont pas intuitives par rapport aux types de variables de déclaration directe.

var linq aux objets et

var results = from r in dataContext.SomeTable
              select r; // `results` 的具体类型并非完全清晰
Copier après la connexion

results en utilisant

plus prudent dans Linq aux objets:

var Ceci est similaire à <似>, et il existe des dangers cachés des types de sécurité. Lors de l'appel de la méthode de charge lourde, il est facile de passer dans le type de type de non-correspondance, ce qui entraîne des erreurs d'exécution.

<<> et tapez la sécurité var

var results = from item in someList
              where item != 3
              select item;
Copier après la connexion
Bien que maintient le type fort de C #, les informations de type caché peuvent causer des problèmes, en particulier lorsque la méthode est surchargée, le compilateur peut ne pas être en mesure de détecter le type qui ne correspond pas pendant la compilation.

foreach (var item in someList) Conclusion

Les mots clés peuvent améliorer la lisibilité et la simplicité du code dans des circonstances appropriées, mais il doit être utilisé avec prudence. Lorsque le type n'est pas clair, le risque peut être augmenté et l'utilisation de var doit être évitée. Pour les requêtes Linq et Linq aux objets, l'importance de peser la lisibilité et la sécurité des types doit être pesée. Utilisez pour rendre le code plus clair et plus concis, tout en maintenant la robustesse et la maintenance du programme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal