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

Im folgenden Beispiel wird gezeigt, wie der HashtableElemente hinzugefügt werden.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 'Main

    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 'PrintKeysAndValues

End Class 'SamplesHashtable


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

Hinweise

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

Ein Objekt, das keine Korrelation zwischen seinem Zustand und seinem Hashcodewert aufweist, 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. Zeichen folgen Objekte sind z. b. besser als StringBuilder-Objekte, die als Schlüssel verwendet werden können.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. Wenn jedoch der angegebene Schlüssel bereits in Hashtablevorhanden ist, wird durch das Festlegen der Item[Object] -Eigenschaft der alte Wert überschrieben.However, if the specified key already exists in the Hashtable, setting the Item[Object] property overwrites the old value. Im Gegensatz dazu ändert Add die-Methode keine vorhandenen Elemente.In contrast, the Add method does not modify existing elements.

Wenn Count kleiner als die Kapazität Hashtabledes ist, ist diese Methode 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 erweitert werden muss, wird diese Methode zu einem O (n)-Vorgang, Countwobei n den Wert hat.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