2011-12-22 62 views
4

如何從C#中的數組中刪除範圍與ArrayList一樣?如何從C#中的數組中刪除範圍

ArrayList myAL = new ArrayList(); 

myAL.Add("The"); 
myAL.Add("quick"); 
myAL.Add("brown"); 
myAL.Add("fox"); 
myAL.Add("jumped"); 
myAL.Add("over"); 
myAL.Add("the"); 
myAL.Add("lazy"); 
myAL.Add("dog"); 
myAL.RemoveRange(4, 3); 

我怎樣才能實現與字符串數組對象?

回答

8

泛型列表公開RemoveRange()方法。您可以將數組轉換成列表,然後刪除該範圍,然後再轉換回一個數組:

var myList = myArray.ToList(); 
myList.RemoveRange(index, count); 
myArray = myList.ToArray(); 

要在特定索引中刪除只有一個項目,你可以使用RemoveAt()

var myList = myArray.ToList(); 
myList.RemoveAt(index); 
myArray = myList.ToArray(); 
+0

和刪除單個索引值? – RollerCosta 2011-12-22 12:31:48

+0

@ dhiraj.Saini使用'RemoveAt()'。看到我更新的答案。 – 2011-12-22 12:38:36

0

您將不得不遍歷所需的索引,然後將它們複製到一個新數組中,因爲數組不能真正以該方式編輯,因此數組列表就是爲了。