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

01 Feb, 2019
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 indexusing 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 indexusing 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:
https://docs.microsoft.com/en-us/dotnet/api/system.collections.objectmodel.collection-1.insert?view=netframework-4.7.2
CSharp-Collection-Class
CSharp-Collections.ObjectModel-Namespace
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
C# | Delegates
C# | Method Overriding
C# | Abstract Classes
Difference between Ref and Out keywords in C#
Extension Method in C#
C# | Class and Object
C# | Constructors
C# | Replace() Method
Introduction to .NET Framework
C# | Data Types