Collection<T>::InsertItem Method (Int32, T)


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

Inserts an element into the Collection<T> at the specified index.

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

virtual void InsertItem(
	int index,
	T item


Type: System::Int32

The zero-based index at which item should be inserted.

Type: T

The object to insert. The value can be null for reference types.

Exception Condition

index is less than zero.


index is greater than Count.

The InsertItem is meant to be overridden in a derived class. For a public method to insert an item in the Collection<T>, see Insert.

Collection<T> accepts null as a valid value for reference types and allows duplicate elements.

If index is equal to Count, item is added to the end of Collection<T>.

This method is an O(n) operation, where n is Count.

The following code example shows how to derive a collection class from a constructed type of the Collection<T> generic class, and how to override the protected InsertItem, RemoveItem, ClearItems, and SetItem methods to provide custom behavior for the Add, Insert, Remove, and Clear methods, and for setting the Item property.

The custom behavior provided by this example is a Changed notification event that is raised at the end of each of the protected methods. The Dinosaurs class inherits Collection<string> (Collection(Of String) in Visual Basic) and defines the Changed event, which uses a DinosaursChangedEventArgs class for the event information, and an enumeration to identify the kind of change.

The code example calls several properties and methods of Collection<T> to demonstrate the custom event.

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

Universal Windows Platform
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top