Export (0) Print
Expand All

Hashtable::Clear Method

Removes all elements from the Hashtable.

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

public:
virtual void Clear()

Implements

IDictionary::Clear()

ExceptionCondition
NotSupportedException

The Hashtable is read-only.

Count is set to zero, and references to other objects from elements of the collection are also released. The capacity remains unchanged.

This method is an O(n) operation, where n is Count.

The following example shows how to clear the values of the Hashtable.

using namespace System;
using namespace System::Collections;
void PrintKeysAndValues( Hashtable^ myHT );
int main()
{

   // Creates and initializes a new Hashtable.
   Hashtable^ myHT = gcnew Hashtable;
   myHT->Add( "one", "The" );
   myHT->Add( "two", "quick" );
   myHT->Add( "three", "brown" );
   myHT->Add( "four", "fox" );
   myHT->Add( "five", "jumped" );

   // Displays the count and values of the Hashtable.
   Console::WriteLine( "Initially," );
   Console::WriteLine( "   Count    : {0}", myHT->Count );
   Console::WriteLine( "   Values:" );
   PrintKeysAndValues( myHT );

   // Clears the Hashtable.
   myHT->Clear();

   // Displays the count and values of the Hashtable.
   Console::WriteLine( "After Clear," );
   Console::WriteLine( "   Count    : {0}", myHT->Count );
   Console::WriteLine( "   Values:" );
   PrintKeysAndValues( myHT );
}

void PrintKeysAndValues( Hashtable^ myHT )
{
   Console::WriteLine( "\t-KEY-\t-VALUE-" );
   IEnumerator^ myEnum = myHT->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      DictionaryEntry de = *safe_cast<DictionaryEntry ^>(myEnum->Current);
      Console::WriteLine( "\t{0}:\t{1}", de.Key, de.Value );
   }

   Console::WriteLine();
}

/* 
 This code produces the following output.

 Initially,
    Count    : 5
    Values:
         -KEY-   -VALUE-
         two:    quick
         three:  brown
         four:   fox
         five:   jumped
         one:    The

 After Clear,
    Count    : 0
    Values:
         -KEY-   -VALUE-

 */

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Show:
© 2014 Microsoft