Inserts the elements of a collection into the ArrayList at the specified index.
- index
- The zero-based index at which the new elements should be inserted.
- c
- The ICollection whose elements should be inserted into the ArrayList. The collection itself cannot be null, but it can contain elements that are null.
Type Reason ArgumentNullException c is null. ArgumentOutOfRangeException index < 0.
index > ArrayList.Count of the current instance.
NotSupportedException The current instance is read-only or has a fixed size.
ArrayList accepts null as a valid value and allows duplicate elements.
If the new ArrayList.Count (the current ArrayList.Count plus the size of the collection) will be greater than ArrayList.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 ArrayList.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 ArrayList.Count.