所以我正在嘗試執行這段代碼,但是由于它嘗試在已刪除的索引處執行第一個循環,因此我認為它超出了范圍。有誰知道我可以在不越界的情況下執行此代碼的方法嗎? for (int i = myList1.Count - 1; i >= 0; i--) { for (int j = 0; j < myList2.Count - 1; j++) { if (myList2[j] != myList1[i]) { myList1.RemoveAt(i); } } }
1 回答

海綿寶寶撒
TA貢獻1809條經驗 獲得超8個贊
強制性 Linq 答案:
myList1 = myList1.Where(i => !myList2.Contains(i)).ToList();
基本上,您不是自己遍歷它們,而是使用 Linq 為您完成。您將 myList1 設置為與 [myList2 不包含項目 X] 的 where 子句匹配的項目。
- 1 回答
- 0 關注
- 196 瀏覽
添加回答
舉報
0/150
提交
取消