Hashtable.Add(Object, Object) Método

Definição

Adiciona um elemento com a chave e valor especificados no 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)

Parâmetros

key
Object

A chave do elemento a adicionar.

value
Object

O valor do elemento a adicionar. O valor pode ser null.

Implementações

Exceções

key é null.

Um elemento com a mesma chave já existe no Hashtable.

É Hashtable só de leitura.

-ou-

Tem Hashtable um tamanho fixo.

Exemplos

O exemplo seguinte mostra como adicionar elementos ao 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
'

Observações

Uma chave não pode ser null, mas um valor pode ser.

Um objeto que não tem correlação entre o seu estado e o valor do seu código de hash normalmente não deve ser usado como chave. Por exemplo, os objetos String são melhores do que os objetos StringBuilder para uso como chaves.

Também pode usar a Item[] propriedade para adicionar novos elementos definindo o valor de uma chave que não existe no Hashtable; por exemplo, myCollection["myNonexistentKey"] = myValue. No entanto, se a chave especificada já existir no Hashtable, definindo a Item[] propriedade sobrescreve o valor antigo. Em contraste, o Add método não modifica elementos existentes.

Se Count for menor que a capacidade do Hashtable, este método é uma O(1) operação. Se a capacidade tiver de ser aumentada para acomodar o novo elemento, este método torna-se uma O(n) operação, onde n é Count.

Aplica-se a

Ver também