Condividi tramite


Hashtable.Remove(Object) Metodo

Definizione

Rimuove l'elemento con la chiave specificata da Hashtable.

public:
 virtual void Remove(System::Object ^ key);
public virtual void Remove (object key);
abstract member Remove : obj -> unit
override this.Remove : obj -> unit
Public Overridable Sub Remove (key As Object)

Parametri

key
Object

Chiave dell'elemento da rimuovere.

Implementazioni

Eccezioni

key è null.

La classe Hashtable è di sola lettura.

-oppure-

Le dimensioni dell'oggetto Hashtable sono fisse.

Esempio

Nell'esempio Hashtableseguente viene illustrato come rimuovere elementi da .

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( "1a", "The" );
   myHT->Add( "1b", "quick" );
   myHT->Add( "1c", "brown" );
   myHT->Add( "2a", "fox" );
   myHT->Add( "2b", "jumps" );
   myHT->Add( "2c", "over" );
   myHT->Add( "3a", "the" );
   myHT->Add( "3b", "lazy" );
   myHT->Add( "3c", "dog" );
   
   // Displays the Hashtable.
   Console::WriteLine( "The Hashtable initially contains the following:" );
   PrintKeysAndValues( myHT );
   
   // Removes the element with the key "3b".
   myHT->Remove( "3b" );
   
   // Displays the current state of the Hashtable.
   Console::WriteLine( "After removing \"lazy\":" );
   PrintKeysAndValues( myHT );
}

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

   Console::WriteLine();
}

/*
 This code produces the following output.
 
 The Hashtable initially contains the following:
     2c:    over
     3a:    the
     2b:    jumps
     3b:    lazy
     1b:    quick
     3c:    dog
     2a:    fox
     1c:    brown
     1a:    The

 After removing "lazy":
     2c:    over
     3a:    the
     2b:    jumps
     1b:    quick
     3c:    dog
     2a:    fox
     1c:    brown
     1a:    The

 */
using System;
using System.Collections;
public class SamplesHashtable
{

   public static void Main()
   {
      // Creates and initializes a new Hashtable.
      var myHT = new Hashtable();
      myHT.Add("1a", "The");
      myHT.Add("1b", "quick");
      myHT.Add("1c", "brown");
      myHT.Add("2a", "fox");
      myHT.Add("2b", "jumps");
      myHT.Add("2c", "over");
      myHT.Add("3a", "the");
      myHT.Add("3b", "lazy");
      myHT.Add("3c", "dog");

      // Displays the Hashtable.
      Console.WriteLine("The Hashtable initially contains the following:");
      PrintKeysAndValues(myHT);

      // Removes the element with the key "3b".
      myHT.Remove("3b");

      // Displays the current state of the Hashtable.
      Console.WriteLine("After removing \"lazy\":");
      PrintKeysAndValues(myHT);
   }

   public static void PrintKeysAndValues(Hashtable myHT)
   {
      foreach (DictionaryEntry de in myHT)
         Console.WriteLine($"    {de.Key}:    {de.Value}");
      Console.WriteLine();
   }
}


/*
This code produces the following output.

The Hashtable initially contains the following:
    2c:    over
    3a:    the
    2b:    jumps
    3b:    lazy
    1b:    quick
    3c:    dog
    2a:    fox
    1c:    brown
    1a:    The

After removing "lazy":
    2c:    over
    3a:    the
    2b:    jumps
    1b:    quick
    3c:    dog
    2a:    fox
    1c:    brown
    1a:    The

*/
Imports System.Collections

Public Class SamplesHashtable    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new Hashtable.
        Dim myHT As New Hashtable()
        myHT.Add("1a", "The")
        myHT.Add("1b", "quick")
        myHT.Add("1c", "brown")
        myHT.Add("2a", "fox")
        myHT.Add("2b", "jumps")
        myHT.Add("2c", "over")
        myHT.Add("3a", "the")
        myHT.Add("3b", "lazy")
        myHT.Add("3c", "dog")
        
        ' Displays the Hashtable.
        Console.WriteLine("The Hashtable initially contains the following:")
        PrintKeysAndValues(myHT)
        
        ' Removes the element with the key "3b".
        myHT.Remove("3b")
        
        ' Displays the current state of the Hashtable.
        Console.WriteLine("After removing ""lazy"":")
        PrintKeysAndValues(myHT)
    End Sub    
    
    
    Public Shared Sub PrintKeysAndValues(myHT As Hashtable)
        For Each de As DictionaryEntry In myHT
            Console.WriteLine($"    {de.Key}:    {de.Value}")
        Next
        Console.WriteLine()
    End Sub
End Class


' This code produces the following output.
' 
'The Hashtable initially contains the following:
'    1a:    The
'    2c:    over
'    3c:    dog
'    1c:    brown
'    2b:    jumps
'    3b:    lazy
'    1b:    quick
'    2a:    fox
'    3a:    the

'After removing "lazy":
'    1a:    The
'    2c:    over
'    3c:    dog
'    1c:    brown
'    2b:    jumps
'    1b:    quick
'    2a:    fox
'    3a:    the

Commenti

Se l'oggetto Hashtable non contiene un elemento con la chiave specificata, il Hashtable valore rimane invariato. Non viene generata alcuna eccezione.

Questo metodo è un'operazione O(1) .

Si applica a

Vedi anche