2009-05-27 155 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變量,你完全沒有必要。 (...在你的示例代碼)

所以我投了第二個...