Une itération à travers un tableau d'objets; foreach(var... vs foreach(object
object[] objArray = new object[]{"blah", 4, "whatever"};
foreach(var value in objArray) vs. foreach(object value in objArray)
Je suis curieux de savoir quelle est la différence entre les personnes, autres que la var doit rester son type après affecté. Est-ce mieux que les autres? Merci.
OriginalL'auteur user943870 | 2012-06-19
Vous devez vous connecter pour publier un commentaire.
De purement d'un point de vue fonctionnel,
var
est juste un raccourci pourobject
ici, depuisobjArray
's les éléments sont de type déclaréobject
.À l'aide de
object
est un signe pour celui qui lit le code que les éléments du tableau ne sont pas connus pour être de type plus spécifique queobject
. L'utilisation devar
n'implique pas cette. Dans le minimum de cas que vous avez posté, il n'a pas vraiment faire une différence pour la clarté du programme que vous utilisez.Si, d'autre part, il n'est pas immédiatement clair dans le contexte de ce type d'objet que vous travaillez, alors il peut être avantageux de déclarer explicitement le type. D'autre part, si le type des éléments de la collection vous êtes à parcourir est verbeux et discret, il peut être avantageux d'utiliser
var
, de sorte que les yeux du lecteur sera tiré à la logique du code plutôt que d'un tas de paramètres génériques.OriginalL'auteur Thom Smith
La seule différence entre
var
et de tout autre type, c'est que vous laisser le compilateur de déterminer le type.OriginalL'auteur MAV
il n'y a pas de différence entre les deux,
var
seraitobject
dans ce cas.OriginalL'auteur Keith Nicholas
Dans votre exemple. Mais,
Lors de la déclaration de
objects
vous obtenez:Boxing et Unboxing
Cependant. Lors de l'utilisation de la var, il est compilé exactement comme si vous avez spécifié le type exact de nom.
Donc
var tempval = 5;
est le même queint tempval = 5;
OriginalL'auteur astro boy