Je suis en désaccord avec les commentaires que l' for
boucle est un meilleur choix dans la plupart des cas.
foreach
construction est utile, et pas replaceble par un for
boucle dans toutes les circonstances.
Par exemple, si vous avez un DataReader et boucle à travers tous les enregistrements à l'aide d'un foreach
il appelle automatiquement le Jeter méthode et ferme le lecteur (qui peut alors fermer la connexion automatiquement). C'est donc plus sûr, car il empêche les fuites sur les conduites, même si vous oubliez de fermer le lecteur.
(Assurez-vous qu'il est de bonne pratique de toujours fermer les lecteurs, mais le compilateur n'est pas de l'attraper si vous ne - vous ne pouvez pas garantir que vous avez fermé tous les lecteurs, mais vous pouvez la rendre plus probable que vous n'aurez pas de fuite de connexions, prenez l'habitude d'utiliser un foreach.)
Il peut y avoir d'autres exemples de l'appel implicite de l' Dispose
méthode utile.