2009-05-27 113 views
1

虽然循环通过代码片段,我应该使用哪一个数据集,我应该去为2的foreach或单一的循环通过数据集

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 
      } 

     } 

回答

1

第二个。

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

只是因为它更容易阅读。添加索引变量“i”只会增加复杂性。你需要确保你得到所有的行[边界检查]。 foreach做它说的。

+0

谢谢伊恩你的建议 – Wondering 2009-05-27 09:02:06

0

第二个,foreach,我认为更具可读性。但这是品味和偏好的问题。选择你喜欢的和最舒服的。

其中一个 - 两个代码片段不会这样做。你忘了列举第一列吗?

1

foreach语句是有利于for语句时,你实际上并不需要的计数器/行号...

for发言介绍了i变量,你完全没有必要。 (...在你的示例代码)

所以我投了第二个...