2011-12-22 35 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

您将不得不遍历所需的索引,然后将它们复制到一个新数组中,因为数组不能真正以该方式编辑,因此数组列表就是为了。