ArrayList.InsertRange Method (Int32, ICollection)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Inserts the elements of a collection into the ArrayList at the specified index.

Namespace:   System.Collections
Assembly:  mscorlib (in mscorlib.dll)

abstract InsertRange : 
        index:int *
        c:ICollection -> unit
override InsertRange : 
        index:int *
        c:ICollection -> unit


Type: System.Int32

The zero-based index at which the new elements should be inserted.

Type: System.Collections.ICollection

The ICollection whose elements should be inserted into the ArrayList. The collection itself cannot be null, but it can contain elements that are null.

Exception Condition

c is null.


index is less than zero.


index is greater than Count.


The ArrayList is read-only.


The ArrayList has a fixed size.

ArrayList accepts null as a valid value and allows duplicate elements.

If the new Count (the current Count plus the size of the collection) will be greater than Capacity, the capacity of the ArrayList is increased by automatically reallocating the internal array to accommodate the new elements, and the existing elements are copied to the new array before the new elements are added.

If index is equal to Count, the elements are added to the end of ArrayList.

The order of the elements in the ICollection is preserved in the ArrayList.

In collections of contiguous elements, such as lists, the elements that follow the insertion point move down to accommodate the new element. If the collection is indexed, the indexes of the elements that are moved are also updated. This behavior does not apply to collections where elements are conceptually grouped into buckets, such as a hash table.

This method is an O(n + m) operation, where n is the number of elements to be added and m is Count.

The following code example shows how to insert elements into the ArrayList.

No code example is currently available or this language may not be supported.

Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Return to top