Hashtable.Add(Object, Object) Hashtable.Add(Object, Object) Hashtable.Add(Object, Object) Hashtable.Add(Object, Object) Method

Definizione

Aggiunge un elemento con la chiave e il valore specificati al metodo Hashtable.Adds an element with the specified key and value into the Hashtable.

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

Parametri

key
Object Object Object Object

Chiave dell'elemento da aggiungere.The key of the element to add.

value
Object Object Object Object

Valore dell'elemento da aggiungere.The value of the element to add. Il valore può essere null.The value can be null.

Implementazioni

Eccezioni

In Hashtable è già presente un elemento con la stessa chiave.An element with the same key already exists in the Hashtable.

La classe Hashtable è di sola lettura.The Hashtable is read-only.

In alternativa-or- Le dimensioni dell'oggetto Hashtable sono fisse.The Hashtable has a fixed size.

Esempi

Nell'esempio seguente viene illustrato come aggiungere elementi a Hashtable.The following example shows how to add elements to 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" );
   
   // Displays the Hashtable.
   Console::WriteLine( "The Hashtable contains the following:" );
   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.
 
 The Hashtable contains the following:
         -KEY-   -VALUE-
         two:    quick
         three:  brown
         four:   fox
         one:    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("one", "The");
      myHT.Add("two", "quick");
      myHT.Add("three", "brown");
      myHT.Add("four", "fox");

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


   public static void PrintKeysAndValues( Hashtable myHT )
   {
      Console.WriteLine("\t-KEY-\t-VALUE-");
      foreach (DictionaryEntry de in myHT)
         Console.WriteLine($"\t{de.Key}:\t{de.Value}");
      Console.WriteLine();
   }
}
/* 
This code produces the following output.

The Hashtable contains the following:
        -KEY-   -VALUE-
        two:    quick
        three:  brown
        four:   fox
        one:    The
*/ 
Imports System.Collections

Public Class SamplesHashtable

    Public Shared Sub Main()

        ' Creates and initializes a new Hashtable.
        Dim myHT As New Hashtable()
        myHT.Add("one", "The")
        myHT.Add("two", "quick")
        myHT.Add("three", "brown")
        myHT.Add("four", "fox")

        ' Displays the Hashtable.
        Console.WriteLine("The Hashtable contains the following:")
        PrintKeysAndValues(myHT)

    End Sub

    Public Shared Sub PrintKeysAndValues(myHT As Hashtable)
        Console.WriteLine(vbTab + "-KEY-" + vbTab + "-VALUE-")
        For Each de As DictionaryEntry In myHT
            Console.WriteLine(vbTab + "{0}:" + vbTab + "{1}", de.Key, de.Value)
        Next
        Console.WriteLine()
    End Sub

End Class 'SamplesHashtable


' This code produces the following output.
' 
' The Hashtable contains the following:
'         -KEY-   -VALUE-
'         two:    quick
'         one:    The
'         three:  brown
'         four:   fox
' 

Commenti

Una chiave non può nullessere, ma un valore può essere.A key cannot be null, but a value can be.

Non è in genere possibile utilizzare come chiave un oggetto che non dispone di correlazioni tra lo stato e il relativo valore del codice hash.An object that has no correlation between its state and its hash code value should typically not be used as the key. Ad esempio, gli oggetti stringa sono migliori degli oggetti StringBuilder da usare come chiavi.For example, String objects are better than StringBuilder objects for use as keys.

È anche possibile usare la Item[Object] proprietà per aggiungere nuovi elementi impostando il valore di una chiave che non esiste Hashtablein, ad esempio myCollection["myNonexistentKey"] = myValue.You can also use the Item[Object] property to add new elements by setting the value of a key that does not exist in the Hashtable; for example, myCollection["myNonexistentKey"] = myValue. Tuttavia, se la chiave specificata esiste già nell'oggetto Hashtable, l'impostazione Item[Object] della proprietà sovrascrive il valore precedente.However, if the specified key already exists in the Hashtable, setting the Item[Object] property overwrites the old value. Al contrario, il Add metodo non modifica gli elementi esistenti.In contrast, the Add method does not modify existing elements.

Se Count è minore della capacità Hashtabledi, questo metodo è un'operazione O (1).If Count is less than the capacity of the Hashtable, this method is an O(1) operation. Se la capacità deve essere aumentata per adattarsi al nuovo elemento, questo metodo diventa un'operazione O (n), dove n è Count.If the capacity needs to be increased to accommodate the new element, this method becomes an O(n) operation, where n is Count.

Si applica a

Vedi anche