Open In App

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

Improve
Improve
Like Article
Like
Save
Share
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:




// 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:



Last Updated : 01 Feb, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads