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.
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.