Dictionary<TKey,TValue>.Add(TKey, TValue) Metoda

Definice

Přidá zadaný klíč a hodnotu do slovníku.Adds the specified key and value to the dictionary.

public:
 virtual void Add(TKey key, TValue value);
public void Add (TKey key, TValue value);
abstract member Add : 'Key * 'Value -> unit
override this.Add : 'Key * 'Value -> unit
Public Sub Add (key As TKey, value As TValue)

Parametry

key
TKey

Klíč elementu, který se má přidatThe key of the element to add.

value
TValue

Hodnota elementu, který chcete přidatThe value of the element to add. Hodnota může být null pro typy odkazů.The value can be null for reference types.

Implementuje

Výjimky

key je null.key is null.

Element se stejným klíčem již existuje v Dictionary<TKey,TValue> .An element with the same key already exists in the Dictionary<TKey,TValue>.

Příklady

Následující příklad kódu vytvoří prázdné Dictionary<TKey,TValue> řetězce s klíči řetězce a pomocí Add metody přidá některé prvky.The following code example creates an empty Dictionary<TKey,TValue> of strings with string keys and uses the Add method to add some elements. Příklad ukazuje, že Add metoda vyvolá výjimku ArgumentException při pokusu o přidání duplicitního klíče.The example demonstrates that the Add method throws an ArgumentException when attempting to add a duplicate key.

Tento příklad kódu je součástí většího příkladu, který je k dispozici pro Dictionary<TKey,TValue> třídu.This code example is part of a larger example provided for the Dictionary<TKey,TValue> class.

// Create a new dictionary of strings, with string keys.
//
Dictionary<String^, String^>^ openWith =
    gcnew Dictionary<String^, String^>();

// Add some elements to the dictionary. There are no
// duplicate keys, but some of the values are duplicates.
openWith->Add("txt", "notepad.exe");
openWith->Add("bmp", "paint.exe");
openWith->Add("dib", "paint.exe");
openWith->Add("rtf", "wordpad.exe");

// The Add method throws an exception if the new key is
// already in the dictionary.
try
{
    openWith->Add("txt", "winword.exe");
}
catch (ArgumentException^)
{
    Console::WriteLine("An element with Key = \"txt\" already exists.");
}
// Create a new dictionary of strings, with string keys.
//
Dictionary<string, string> openWith =
    new Dictionary<string, string>();

// Add some elements to the dictionary. There are no
// duplicate keys, but some of the values are duplicates.
openWith.Add("txt", "notepad.exe");
openWith.Add("bmp", "paint.exe");
openWith.Add("dib", "paint.exe");
openWith.Add("rtf", "wordpad.exe");

// The Add method throws an exception if the new key is
// already in the dictionary.
try
{
    openWith.Add("txt", "winword.exe");
}
catch (ArgumentException)
{
    Console.WriteLine("An element with Key = \"txt\" already exists.");
}
' Create a new dictionary of strings, with string keys.
'
Dim openWith As New Dictionary(Of String, String)

' Add some elements to the dictionary. There are no 
' duplicate keys, but some of the values are duplicates.
openWith.Add("txt", "notepad.exe")
openWith.Add("bmp", "paint.exe")
openWith.Add("dib", "paint.exe")
openWith.Add("rtf", "wordpad.exe")

' The Add method throws an exception if the new key is 
' already in the dictionary.
Try
    openWith.Add("txt", "winword.exe")
Catch 
    Console.WriteLine("An element with Key = ""txt"" already exists.")
End Try

Poznámky

Vlastnost můžete použít také Item[] k přidání nových prvků nastavením hodnoty klíče, který neexistuje v, Dictionary<TKey,TValue> například myCollection[myKey] = myValue (v Visual Basic, myCollection(myKey) = myValue ).You can also use the Item[] property to add new elements by setting the value of a key that does not exist in the Dictionary<TKey,TValue>; for example, myCollection[myKey] = myValue (in Visual Basic, myCollection(myKey) = myValue). Pokud však zadaný klíč již existuje v rozhraní Dictionary<TKey,TValue> , nastavení Item[] vlastnosti přepíše starou hodnotu.However, if the specified key already exists in the Dictionary<TKey,TValue>, setting the Item[] property overwrites the old value. Naproti tomu Add metoda vyvolá výjimku, pokud hodnota se zadaným klíčem již existuje.In contrast, the Add method throws an exception if a value with the specified key already exists.

Pokud Count hodnota vlastnosti již odpovídá kapacitě, kapacita Dictionary<TKey,TValue> je zvýšena automatickým přerozdělením interního pole a existující prvky jsou zkopírovány do nového pole před přidáním nového prvku.If the Count property value already equals the capacity, the capacity of the Dictionary<TKey,TValue> is increased by automatically reallocating the internal array, and the existing elements are copied to the new array before the new element is added.

Klíč nemůže být null , ale hodnota může být, pokud TValue je odkazový typ.A key cannot be null, but a value can be, if TValue is a reference type.

Pokud Count je menší než kapacita, tato metoda přistupuje k operaci o (1).If Count is less than the capacity, this method approaches an O(1) operation. Pokud je nutné zvýšit kapacitu tak, aby vyhovovala novému prvku, tato metoda se stala operací O ( n ), kde n je Count .If the capacity must be increased to accommodate the new element, this method becomes an O(n) operation, where n is Count.

Platí pro

Viz také