Open In App

C# | Insert an element into Collection<T> at specified index

Last Updated : 01 Feb, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
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: CSHARP
// 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: CSHARP
// 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:

Next Article

Similar Reads