Remove Method
.NET Framework Class Library
ArrayList..::.Remove Method

Removes the first occurrence of a specific object from the ArrayList.

Namespace:  System.Collections
Assembly:  mscorlib (in mscorlib.dll)
Visual Basic (Declaration)
Public Overridable Sub Remove ( _
    obj As Object _
)
Visual Basic (Usage)
Dim instance As ArrayList
Dim obj As Object

instance.Remove(obj)
C#
public virtual void Remove(
    Object obj
)
Visual C++
public:
virtual void Remove(
    Object^ obj
)
JScript
public function Remove(
    obj : Object
)

Parameters

obj
Type: System..::.Object
The Object to remove from the ArrayList. The value can be nullNothingnullptra null reference (Nothing in Visual Basic).

Implements

IList..::.Remove(Object)
ExceptionCondition
NotSupportedException

The ArrayList is read-only.

-or-

The ArrayList has a fixed size.

If the ArrayList does not contain the specified object, the ArrayList remains unchanged. No exception is thrown.

This method performs a linear search; therefore, this method is an O(n) operation, where n is Count.

This method determines equality by calling Object..::.Equals.

In collections of contiguous elements, such as lists, the elements that follow the removed element move up to occupy the vacated spot. If the collection is indexed, the indexes of the elements that are moved are also updated. This behavior does not apply to collections where elements are conceptually grouped into buckets, such as a hash table.

The following code example shows how to remove elements from the ArrayList.

Visual Basic
Imports System
Imports System.Collections
Imports Microsoft.VisualBasic

Public Class SamplesArrayList    

    Public Shared Sub Main()

        ' Creates and initializes a new ArrayList.
        Dim myAL As New ArrayList()
        myAL.Add("The")
        myAL.Add("quick")
        myAL.Add("brown")
        myAL.Add("fox")
        myAL.Add("jumped")
        myAL.Add("over")
        myAL.Add("the")
        myAL.Add("lazy")
        myAL.Add("dog")

        ' Displays the ArrayList.
        Console.WriteLine("The ArrayList initially contains the following:")
        PrintValues(myAL)

        ' Removes the element containing "lazy".
        myAL.Remove("lazy")

        ' Displays the current state of the ArrayList.
        Console.WriteLine("After removing ""lazy"":")
        PrintValues(myAL)

        ' Removes the element at index 5.
        myAL.RemoveAt(5)

        ' Displays the current state of the ArrayList.
        Console.WriteLine("After removing the element at index 5:")
        PrintValues(myAL)

        ' Removes three elements starting at index 4.
        myAL.RemoveRange(4, 3)

        ' Displays the current state of the ArrayList.
        Console.WriteLine("After removing three elements starting at index 4:")
        PrintValues(myAL)
    End Sub

    Public Shared Sub PrintValues(myList As IEnumerable)
        Dim obj As [Object]
        For Each obj In  myList
            Console.Write("   {0}", obj)
        Next obj
        Console.WriteLine()
    End Sub 'PrintValues

End Class


' This code produces the following output.
' 
' The ArrayList initially contains the following:
'    The   quick   brown   fox   jumped   over   the   lazy   dog
' After removing "lazy":
'    The   quick   brown   fox   jumped   over   the   dog
' After removing the element at index 5:
'    The   quick   brown   fox   jumped   the   dog
' After removing three elements starting at index 4:
'    The   quick   brown   fox


C#
using System;
using System.Collections;
public class SamplesArrayList  {

   public static void Main()  {

      // Creates and initializes a new ArrayList.
      ArrayList myAL = new ArrayList();
      myAL.Add( "The" );
      myAL.Add( "quick" );
      myAL.Add( "brown" );
      myAL.Add( "fox" );
      myAL.Add( "jumped" );
      myAL.Add( "over" );
      myAL.Add( "the" );
      myAL.Add( "lazy" );
      myAL.Add( "dog" );

      // Displays the ArrayList.
      Console.WriteLine( "The ArrayList initially contains the following:" );
      PrintValues( myAL );

      // Removes the element containing "lazy".
      myAL.Remove( "lazy" );

      // Displays the current state of the ArrayList.
      Console.WriteLine( "After removing \"lazy\":" );
      PrintValues( myAL );

      // Removes the element at index 5.
      myAL.RemoveAt( 5 );

      // Displays the current state of the ArrayList.
      Console.WriteLine( "After removing the element at index 5:" );
      PrintValues( myAL );

      // Removes three elements starting at index 4.
      myAL.RemoveRange( 4, 3 );

      // Displays the current state of the ArrayList.
      Console.WriteLine( "After removing three elements starting at index 4:" );
      PrintValues( myAL );
   }

   public static void PrintValues( IEnumerable myList )  {
      foreach ( Object obj in myList )
         Console.Write( "   {0}", obj );
      Console.WriteLine();
   }

}
/* 
This code produces the following output.

The ArrayList initially contains the following:
   The   quick   brown   fox   jumped   over   the   lazy   dog
After removing "lazy":
   The   quick   brown   fox   jumped   over   the   dog
After removing the element at index 5:
   The   quick   brown   fox   jumped   the   dog
After removing three elements starting at index 4:
   The   quick   brown   fox
*/ 

Visual C++
using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable^ myList );
int main()
{

   // Creates and initializes a new ArrayList.
   ArrayList^ myAL = gcnew ArrayList;
   myAL->Add( "The" );
   myAL->Add( "quick" );
   myAL->Add( "brown" );
   myAL->Add( "fox" );
   myAL->Add( "jumped" );
   myAL->Add( "over" );
   myAL->Add( "the" );
   myAL->Add( "lazy" );
   myAL->Add( "dog" );

   // Displays the ArrayList.
   Console::WriteLine( "The ArrayList initially contains the following:" );
   PrintValues( myAL );

   // Removes the element containing "lazy".
   myAL->Remove( "lazy" );

   // Displays the current state of the ArrayList.
   Console::WriteLine( "After removing \"lazy\":" );
   PrintValues( myAL );

   // Removes the element at index 5.
   myAL->RemoveAt( 5 );

   // Displays the current state of the ArrayList.
   Console::WriteLine( "After removing the element at index 5:" );
   PrintValues( myAL );

   // Removes three elements starting at index 4.
   myAL->RemoveRange( 4, 3 );

   // Displays the current state of the ArrayList.
   Console::WriteLine( "After removing three elements starting at index 4:" );
   PrintValues( myAL );
}

void PrintValues( IEnumerable^ myList )
{
   IEnumerator^ myEnum = myList->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Object^ obj = safe_cast<Object^>(myEnum->Current);
      Console::Write( "   {0}", obj );
   }

   Console::WriteLine();
}

/* 
 This code produces the following output.

 The ArrayList initially contains the following:
    The   quick   brown   fox   jumped   over   the   lazy   dog
 After removing "lazy":
    The   quick   brown   fox   jumped   over   the   dog
 After removing the element at index 5:
    The   quick   brown   fox   jumped   the   dog
 After removing three elements starting at index 4:
    The   quick   brown   fox
 */

JScript
import System;
import System.Collections;

// Creates and initializes a new ArrayList.
var myAL : ArrayList = new ArrayList();
myAL.Add( "The" );
myAL.Add( "quick" );
myAL.Add( "brown" );
myAL.Add( "fox" );
myAL.Add( "jumped" );
myAL.Add( "over" );
myAL.Add( "the" );
myAL.Add( "lazy" );
myAL.Add( "dog" );

// Displays the ArrayList.
Console.WriteLine( "The ArrayList initially contains the following:" );
PrintValues( myAL );

// Removes the element containing "lazy".
myAL.Remove( "lazy" );

// Displays the current state of the ArrayList.
Console.WriteLine( "After removing \"lazy\":" );
PrintValues( myAL );

// Removes the element at index 5.
myAL.RemoveAt( 5 );

// Displays the current state of the ArrayList.
Console.WriteLine( "After removing the element at index 5:" );
PrintValues( myAL );

// Removes three elements starting at index 4.
myAL.RemoveRange( 4, 3 );

// Displays the current state of the ArrayList.
Console.WriteLine( "After removing three elements starting at index 4:" );
PrintValues( myAL );

function PrintValues( myList : IEnumerable )  {
   var myEnumerator : System.Collections.IEnumerator  = myList.GetEnumerator();
   while ( myEnumerator.MoveNext() )
      Console.Write( "\t{0}", myEnumerator.Current );
   Console.WriteLine();
}
 /* 
 This code produces the following output.

 The ArrayList initially contains the following:
     The    quick    brown    fox    jumped    over    the    lazy    dog
 After removing "lazy":
     The    quick    brown    fox    jumped    over    the    dog
 After removing the element at index 5:
     The    quick    brown    fox    jumped    the    dog
 After removing three elements starting at index 4:
     The    quick    brown    fox
 */ 

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
You cannot remove an item while you're enumerating the list      Kristof Verbiest   |   Edit   |   Show History
If you try to remove an item while you are enumerating the list, this will result in an exception. Several ways to work around this are explained here: http://kristofverbiest.blogspot.com/2008/10/removing-items-from-collection.html
Tags What's this?: Add a tag
Flag as ContentBug
Processing
Page view tracker