C# for 迴圈一個要注意的小地方

  • 10641
  • 0

摘要:C# for 迴圈一個要注意的小地方

c# 的 for 迴圈有三個運算式: 
for (initializer; condition; iterator)
    body
其中 condition 是判斷是否停止的依據,
所以若 condition 中的變數是會變動的,
那麼跑幾圈就一定不是我們想的了。
例如:

for (int i=0; i < myDataTable.Rows.Count; i++)
{
  myDataTable.Rows[i].Delete();
  myDataTable.AcceptChanges();
}

 

這樣每跑一次 AcceptChanges() , myDataTable.Rows.Count 就會減少一,
那假設本來有10筆資料,可是迴圈卻只會跑5次!
所以注意  AcceptChanges();  要寫在迴圈的外面才行,
要不就用一個變數存下 Rows.Count ,不要直接用。