Hashtable.Add(Object, Object) Метод

Определение

Добавляет элемент с указанным ключом и значением в элемент Hashtable.

public:
 virtual void Add(System::Object ^ key, System::Object ^ value);
public virtual void Add(object key, 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)

Параметры

key
Object

Ключ добавляемого элемента.

value
Object

Значение добавляемого элемента. Значение может быть null.

Реализации

Исключения

key равно null.

Элемент с тем же ключом уже существует в элементе Hashtable.

Доступно Hashtable только для чтения.

–или–

Имеет Hashtable фиксированный размер.

Примеры

В следующем примере показано, как добавить элементы в элемент 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
'

Комментарии

Ключ не может быть null, но значение может быть.

Объект, не имеющий корреляции между состоянием и его хэш-кодом, обычно не должен использоваться в качестве ключа. Например, объекты String лучше, чем объекты StringBuilder для использования в качестве ключей.

Можно также использовать Item[] свойство для добавления новых элементов, задав значение ключа, который не существует в Hashtable; например. myCollection["myNonexistentKey"] = myValue Тем не менее, если указанный ключ уже существует в Hashtable, задав Item[] свойство перезаписывает старое значение. Напротив, Add метод не изменяет существующие элементы.

Если Count емкость меньше емкости Hashtable, этот метод является операцией O(1) . Если для размещения нового элемента необходимо увеличить емкость, этот метод становится O(n) операцией, где n находится Count.

Применяется к

См. также раздел