/// <summary> /// 當你在遍歷的過程中刪除某個對象的時候,這時被刪除的對象之后的所有對象都會往前移動一位。 /// 如果想正確的遍歷整個list就需要讓i從0開始重新遍歷。 /// 我這里的i=-1是因為當我們進行下一次循環的時候i++,所有剛好下次循環的時候是用0開始。 /// 缺點:因為每次刪除對象都嘚從新遍歷,所有增加了代碼執行的時間。 /// </summary> private void Test() { for(int i=lists.Count-1;i>=0;i--) { if(lists[i]==1) { lists.Remove(lists[i]); break; } } }