2009-05-27 6 views
1

Tout en boucle à travers un dataset qui extrait de code dois-je utiliser, dois-je aller pour 2 foreach ou un seul pourLooping par Dataset

snippet1:

for (int i = 0; i < ds.Tables["TableName"].Rows.Count; i++) 
     { 
      // My Code 

     } 

snippet2:

foreach (DataRow dr in ds.Tables["TableName"].Rows) 
     { 
      foreach (DataColumn dc in ds.Tables["TableName"].Columns) 
      { 
       //My Code 
      } 

     } 

Répondre

1

Le deuxième.

foreach (DataRow dr in ds.Tables["TableName"].Rows) 

Simplement parce qu'il est plus facile à lire. L'ajout d'une variable d'index "i" ajoute simplement de la complexité. Vous devez être sûr que vous obtenez toutes les lignes [vérifier les limites]. foreach fait ce qu'il dit.

+0

Merci Ian pour votre suggestion – Wondering

0

Le second, foreach, est plus lisible je pense. Mais c'est une question de goût et de préférences. Choisissez celui que vous préférez et qui vous convient le mieux.

Un ceci - les deux extraits de code ne font pas la même chose. Avez-vous oublié d'énumérer les colonnes dans le premier?

1

La déclaration foreach est favorable à la déclaration for lorsque vous ne devez pas réellement le nombre compteur/rangée ...

Les états for introduit la variable i, pour lequel vous avez absolument pas besoin. (... dans votre exemple de code)

Alors je vote pour la seconde ...