ArrayList表示可以单独索引的对象的有序集合。基本上,它是数组的替代方法。它还允许动态分配内存,添加,搜索和排序列表中的项目。 ArrayList.RemoveAt(Int32)方法用于删除ArrayList指定索引处的元素。
特性:
- 可以随时在数组列表集合中添加或删除元素。
- 不能保证对ArrayList进行排序。
- ArrayList的容量是ArrayList可以容纳的元素数。
- 可以使用整数索引访问此集合中的元素。此集合中的索引从零开始。
- 它还允许重复的元素。
- 不支持将多维数组用作ArrayList集合中的元素。
句法:
public virtual void RemoveAt (int index);
在这里, index是要删除的元素的从零开始的索引。
例外情况:
- ArgumentOutOfRangeException:如果index小于零或index等于或大于Count,其中Count是ArrayList中的元素数。
- NotSupportedException:如果ArrayList为只读或ArrayList具有固定大小。
下面给出了一些示例,以更好地理解实现:
范例1:
// C# code to remove the element at
// the specified index of ArrayList
using System;
using System.Collections;
class GFG {
// Driver code
public static void Main()
{
// Creating an ArrayList
ArrayList myList = new ArrayList(10);
// Adding elements to ArrayList
myList.Add("A");
myList.Add("B");
myList.Add("C");
myList.Add("D");
myList.Add("E");
myList.Add("F");
// Displaying the elements in ArrayList
Console.WriteLine("The elements in ArrayList initially are :");
foreach(string str in myList)
Console.WriteLine(str);
// Removing the element present at index 4
myList.RemoveAt(4);
// Displaying the elements in ArrayList
Console.WriteLine("The elements in ArrayList are :");
foreach(string str in myList)
Console.WriteLine(str);
}
}
输出:
The elements in ArrayList initially are:
A
B
C
D
E
F
The elements in ArrayList are:
A
B
C
D
F
范例2:
// C# code to remove the element at
// the specified index of ArrayList
using System;
using System.Collections;
class GFG {
// Driver code
public static void Main()
{
// Creating an ArrayList
ArrayList myList = new ArrayList(10);
// Adding elements to ArrayList
myList.Add(2);
myList.Add(3);
myList.Add(4);
myList.Add(5);
myList.Add(6);
myList.Add(7);
// Removing the element present at index 7
// It should raise System.ArgumentOutOfRangeException
myList.RemoveAt(7);
// Displaying the elements in ArrayList
Console.WriteLine("The elements in ArrayList are :");
foreach(int i in myList)
Console.WriteLine(i);
}
}
输出:
Unhandled Exception:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
笔记:
- 此方法是O(n)运算,其中n是Count。
- 删除元素后,将调整集合的大小,并将Count属性的值减小一。
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.arraylist.removeat?view=netframework-4.7.2