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

Definition

Fügt dem Hashtable ein Element mit dem angegebenen Schlüssel und Wert hinzu.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)

Parameter

key
Object Object Object Object

Der Schlüssel des hinzuzufügenden Elements.The key of the element to add.

value
Object Object Object Object

Der Wert des hinzuzufügenden Elements.The value of the element to add. Der Wert kann null sein.The value can be null.

Implementiert

Ausnahmen

In Hashtable ist bereits ein Element mit demselben Schlüssel enthalten.An element with the same key already exists in the Hashtable.

Hashtable ist schreibgeschützt.The Hashtable is read-only.

- oder --or- Hashtable hat eine feste Größe.The Hashtable has a fixed size.

Beispiele

Das folgende Beispiel zeigt, wie Sie zum Hinzufügen von Elementen der 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.
      Hashtable 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{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
*/ 
Imports System
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 'Main

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

End Class 'SamplesHashtable


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

Hinweise

Ein Schlüssel kann nicht null, aber ein Wert sein kann.A key cannot be null, but a value can be.

Ein Objekt, das keine Korrelation zwischen den Zustand und dessen Hashcode-Wert hat, sollte in der Regel nicht als Schlüssel verwendet werden.An object that has no correlation between its state and its hash code value should typically not be used as the key. Als Schlüssel sind String-Objekte z. B. besser als "StringBuilder" Objekte für die Verwendung.For example, String objects are better than StringBuilder objects for use as keys.

Sie können auch die Item[Object] zum Hinzufügen neuer Elemente durch Festlegen des Werts eines Schlüssels, die Eigenschaft ist nicht vorhanden, der Hashtable, z. B. myCollection["myNonexistentKey"] = myValueYou 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. Jedoch, wenn der angegebene Schlüssel bereits vorhanden ist die Hashtablewird durch das Festlegen der Item[Object] Eigenschaft überschreibt den alten Wert.However, if the specified key already exists in the Hashtable, setting the Item[Object] property overwrites the old value. Im Gegensatz dazu die Add Methode vorhandene Elemente nicht geändert.In contrast, the Add method does not modify existing elements.

Wenn Count ist kleiner als die Kapazität der Hashtable, diese Methode ist ein o(1)-Vorgang.If Count is less than the capacity of the Hashtable, this method is an O(1) operation. Wenn die Kapazität für das neue Element erhöht werden muss, wird diese Methode eine O (n)-Vorgang, in denen n ist Count.If the capacity needs to be increased to accommodate the new element, this method becomes an O(n) operation, where n is Count.

Gilt für:

Siehe auch