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

Definition

Fügt dem Wörterbuch den angegebenen Schlüssel und Wert hinzu.

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)

Parameter

key
TKey

Der Schlüssel des hinzuzufügenden Elements.

value
TValue

Der Wert des hinzuzufügenden Elements. Der Wert kann für Verweistypen null sein.

Implementiert

Ausnahmen

key ist null.

In Dictionary<TKey,TValue> ist bereits ein Element mit demselben Schlüssel enthalten.

Beispiele

Im folgenden Codebeispiel wird eine Leere Dictionary<TKey,TValue> von Zeichenfolgen mit Zeichenfolgenschlüsseln erstellt und die Add -Methode verwendet, um einige Elemente hinzuzufügen. Das Beispiel zeigt, dass die Add -Methode einen ArgumentException auslöst, wenn versucht wird, einen doppelten Schlüssel hinzuzufügen.

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die Dictionary<TKey,TValue>-Klasse bereitgestellt wird.

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

Hinweise

Sie können die Item[] -Eigenschaft auch verwenden, um neue Elemente hinzuzufügen, indem Sie den Wert eines Schlüssels festlegen, myCollection[myKey] = myValue der Dictionary<TKey,TValue>in nicht vorhanden ist, z. B. (in Visual Basic, myCollection(myKey) = myValue). Wenn der angegebene Schlüssel jedoch bereits in vorhanden ist, überschreibt die Dictionary<TKey,TValue>Item[] -Eigenschaft den alten Wert. Im Gegensatz dazu löst die Add Methode eine Ausnahme aus, wenn ein Wert mit dem angegebenen Schlüssel bereits vorhanden ist.

Wenn der Count Eigenschaftswert bereits der Kapazität entspricht, wird die Kapazität von Dictionary<TKey,TValue> erhöht, indem das interne Array automatisch neu zugeordnet wird, und die vorhandenen Elemente werden in das neue Array kopiert, bevor das neue Element hinzugefügt wird.

Ein Schlüssel kann nicht sein null, aber ein Wert kann sein, wenn es sich um TValue einen Verweistyp handelt.

Wenn Count die Kapazität kleiner ist, nähert sich diese Methode einem O(1)-Vorgang an. Wenn die Kapazität erhöht werden muss, um das neue Element aufzunehmen, wird diese Methode zu einem O(n)-Vorgang, wobei n ist Count.

Gilt für:

Weitere Informationen