Export (0) Print
Expand All

ArrayList::Remove Method

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

Namespace:  System.Collections
Assembly:  mscorlib (in mscorlib.dll)

public:
virtual void Remove(
	Object^ obj
)

Parameters

obj
Type: System::Object
The Object to remove from the ArrayList. The value can be nullptr.

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.


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


.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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

Community Additions

ADD
Show:
© 2014 Microsoft