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

Definition

Fügt dem Wörterbuch den angegebenen Schlüssel und Wert hinzu.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)

Parameters

key
TKey

Der Schlüssel des hinzuzufügenden Elements.The key of the element to add.

value
TValue

Der Wert des hinzuzufügenden Elements.The value of the element to add. Der Wert kann für Verweistypen null sein.The value can be null for reference types.

Implements

Exceptions

key ist nullkey is null.

In Dictionary<TKey,TValue> ist bereits ein Element mit demselben Schlüssel enthalten.An element with the same key already exists in the Dictionary<TKey,TValue>.

Examples

Im folgenden Codebeispiel wird eine leere Dictionary<TKey,TValue> von Zeichen folgen mit Zeichen folgen Schlüsseln erstellt und die Add-Methode verwendet, um einige Elemente hinzuzufügen.The following code example creates an empty Dictionary<TKey,TValue> of strings with string keys and uses the Add method to add some elements. Das Beispiel zeigt, dass die Add-Methode eine ArgumentException auslöst, wenn versucht wird, einen doppelten Schlüssel hinzuzufügen.The example demonstrates that the Add method throws an ArgumentException when attempting to add a duplicate key.

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

Remarks

Sie können auch die Item[]-Eigenschaft verwenden, um neue Elemente hinzuzufügen, indem Sie den Wert eines Schlüssels festlegen, der nicht in der Dictionary<TKey,TValue>vorhanden ist. beispielsweise myCollection[myKey] = myValue (in 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). Wenn der angegebene Schlüssel jedoch bereits im Dictionary<TKey,TValue>vorhanden ist, überschreibt das Festlegen der Item[] Eigenschaft den alten Wert.However, if the specified key already exists in the Dictionary<TKey,TValue>, setting the Item[] property overwrites the old value. Im Gegensatz dazu löst die Add-Methode eine Ausnahme aus, wenn ein Wert mit dem angegebenen Schlüssel bereits vorhanden ist.In contrast, the Add method throws an exception if a value with the specified key already exists.

Wenn der Count-Eigenschafts Wert bereits der Kapazität entspricht, wird die Kapazität des Dictionary<TKey,TValue> erhöht, indem das interne Array automatisch neu zugewiesen wird und die vorhandenen Elemente in das neue Array kopiert werden, bevor das neue Element hinzugefügt wird.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.

Ein Schlüssel kann nicht nullwerden, aber ein Wert kann sein, wenn TValue ein Verweistyp ist.A key cannot be null, but a value can be, if TValue is a reference type.

Wenn Count kleiner als die Kapazität ist, nähert sich diese Methode einem O (1)-Vorgang.If Count is less than the capacity, this method approaches an O(1) operation. Wenn die Kapazität für das neue Element erweitert werden muss, wird diese Methode zu einem O (n)-Vorgang, bei dem n Countist.If the capacity must be increased to accommodate the new element, this method becomes an O(n) operation, where n is Count.

Applies to

See also