我有一個列表,其中包含一些字符串類型的項目。刪除給定索引下的列表元素
List<string> lstOriginal;
我有另一個列表,其中包含應從第一個列表中刪除的idids。
List<int> lstIndices;
我會試着用RemoveAt移除()方法來完成這項工作,
foreach(int indice in lstIndices)
{
lstOriginal.RemoveAt(indice);
}
,但它崩潰,說我「索引超出範圍。」
哪裏有索引列表來自哪裏?因爲您刪除了不在列表中的索引 – Frederiek 2012-03-28 13:32:37
當您刪除某個項目時,它會更改之後項目的索引。如果你有索引1和3,當你刪除索引1時,索引3不再指向同一個對象。現在它可能超出界限,這就是爲什麼你會得到這個例外。 – SomeWritesReserved 2012-03-28 13:33:09
這是崩潰,因爲當您從列表中刪除第一個項目時,所有索引都會相應更改。 – bporter 2012-03-28 13:33:51