Hashtable.Add(Object, Object) Metod

Definition

Lägger till ett element med den angivna nyckeln och värdet i 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)

Parametrar

key
Object

Nyckeln för elementet som ska läggas till.

value
Object

Värdet för elementet som ska läggas till. Värdet kan vara null.

Implementeringar

Undantag

key är null.

Det finns redan ett element med samma nyckel i Hashtable.

Är Hashtable skrivskyddad.

-eller-

Har Hashtable en fast storlek.

Exempel

I följande exempel visas hur du lägger till element i Hashtable.

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


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

Kommentarer

En nyckel kan inte vara null, men ett värde kan vara.

Ett objekt som inte har någon korrelation mellan dess tillstånd och dess hashkodvärde bör vanligtvis inte användas som nyckel. Strängobjekt är till exempel bättre än StringBuilder-objekt för användning som nycklar.

Du kan också använda Item[] egenskapen för att lägga till nya element genom att ange värdet för en nyckel som inte finns i Hashtable, till exempel myCollection["myNonexistentKey"] = myValue. Men om den angivna nyckeln redan finns i Hashtable, skriver egenskapen Item[] över det gamla värdet. Metoden ändrar däremot Add inte befintliga element.

Om Count är mindre än kapaciteten för Hashtableär den här metoden en O(1) åtgärd. Om kapaciteten behöver ökas för att hantera det nya elementet blir den här metoden en O(n) åtgärd, där n är Count.

Gäller för

Se även