Collection<T>.RemoveAt(Int32) is used to remove the element at the specified index of the Collection<T>.
Syntax:
public void RemoveAt (int index);
Here, index is the zero-based index of the element to remove.
Exception: This method will give ArgumentOutOfRangeException if the index is less than zero OR index is equal to or greater than Count.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to remove the element // at the specified index of the Collection 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" );
// To print the count of elements in Collection
Console.WriteLine( "Count : " + myColl.Count);
// Displaying the elements in myColl
foreach ( string str in myColl)
{
Console.WriteLine(str);
}
// Removing the element at the
// specified index of the Collection
myColl.RemoveAt(2);
// To print the count of elements in Collection
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 : 4 A B D E
Example 2:
// C# code to remove the element // at the specified index of the Collection 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);
// To print the count of elements in Collection
Console.WriteLine( "Count : " + myColl.Count);
// Displaying the elements in myColl
foreach ( int i in myColl)
{
Console.WriteLine(i);
}
// Removing the element at the
// specified index of the Collection
// This should raise "ArgumentOutOfRangeException"
// as the index is less than 0
myColl.RemoveAt(-4);
// To print the count of elements in Collection
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 was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Note: This method is an O(n) operation, where n is Count.
Reference: