Collection<T>.Insert(Int32, T) method is used to insert an element into the Collection<T> at the specified index.
Syntax:
public void Insert (int index, T item);
Parameters:
index : The zero-based index at which item should be inserted.
item : The object to insert. The value can be null for reference types.
Exception: This method will give ArgumentOutOfRangeException if index is less than zero OR index is greater than Count.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to insert an element into // the Collection at the specified index using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
class GFG {
// Driver code
public static void Main()
{
// Creating a collection of strings
Collection< string > myColl = new Collection< string >();
// Adding elements in Collection myColl
myColl.Add( "A" );
myColl.Add( "B" );
myColl.Add( "C" );
myColl.Add( "D" );
myColl.Add( "E" );
// Displaying the number of elements in myColl
Console.WriteLine( "Count : " + myColl.Count);
// Displaying the elements in myColl
foreach ( string str in myColl)
{
Console.WriteLine(str);
}
// Inserting an element into the
// Collection at the specified index
myColl.Insert(2, "GFG" );
// Displaying the number of elements in myColl
Console.WriteLine( "Count : " + myColl.Count);
// Displaying the elements in myColl
foreach ( string str in myColl)
{
Console.WriteLine(str);
}
}
} |
Output:
Count : 5 A B C D E Count : 6 A B GFG C D E
Example 2:
// C# code to insert an element into // the Collection at the specified index using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
class GFG {
// Driver code
public static void Main()
{
// Creating a collection of ints
Collection< int > myColl = new Collection< int >();
// Adding elements in Collection myColl
myColl.Add(2);
myColl.Add(3);
myColl.Add(4);
myColl.Add(5);
// Displaying the number of elements in myColl
Console.WriteLine( "Count : " + myColl.Count);
// Displaying the elements in myColl
foreach ( int i in myColl)
{
Console.WriteLine(i);
}
// Inserting an element into the
// Collection at the specified index
// This should raise "ArgumentOutOfRangeException"
// as index is less than 0
myColl.Insert(-1, 8);
// Displaying the number of elements in myColl
Console.WriteLine( "Count : " + myColl.Count);
// Displaying the elements in myColl
foreach ( int i in myColl)
{
Console.WriteLine(i);
}
}
} |
Runtime Error:
Unhandled Exception:
System.ArgumentOutOfRangeException: Index must be within the bounds of the List.
Parameter name: index
Note:
- 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.
Reference: