2010-09-06 7 views

Répondre

7

Rows n'est pas fortement typé - donc il y aura un cast à chaque itération, et vous ne pouvez pas utiliser LINQ pour les objets facilement. (Je crois que AsEnumerable() devra jeter à chaque itération interne aussi bien, mais au moins vous pouvez l'utiliser pour d'autres méthodes LINQ facilement.)

Select a besoin de construire un tableau, donc il y a évidemment une pénalité de performance là-bas.

Personnellement, j'utiliserais AsEnumerable() à moins que vous ne vouliez modifier la table dans la boucle, auquel cas le fait que Select construise un tableau à l'avance peut être un avantage.

0

Utilisez AsEnumerable() si vous essayez d'interroger la datatable à l'aide de LINQ, sinon, vous pouvez aussi bien utiliser la structure de bouclage ...