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

Definicja

Dodaje określony klucz i wartość do słownika.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

Klucz elementu do dodania.The key of the element to add.

value
TValue

Wartość elementu do dodania.The value of the element to add. Wartość może być null dla typów referencyjnych.The value can be null for reference types.

Implementuje

Wyjątki

key to null.key is null.

Element z tym samym kluczem już istnieje w Dictionary<TKey,TValue> .An element with the same key already exists in the Dictionary<TKey,TValue>.

Przykłady

Poniższy przykład kodu tworzy puste Dictionary<TKey,TValue> ciągi z kluczami ciągu i używa Add metody do dodawania niektórych elementów.The following code example creates an empty Dictionary<TKey,TValue> of strings with string keys and uses the Add method to add some elements. W przykładzie pokazano, że Add Metoda zgłasza ArgumentException podczas próby dodania zduplikowanego klucza.The example demonstrates that the Add method throws an ArgumentException when attempting to add a duplicate key.

Ten przykład kodu jest częścią większego przykładu dostarczonego dla Dictionary<TKey,TValue> klasy.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

Uwagi

Można również użyć właściwości, Item[] Aby dodać nowe elementy przez ustawienie wartości klucza, który nie istnieje w, Dictionary<TKey,TValue> na przykład myCollection[myKey] = myValue (w 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). Jeśli jednak określony klucz już istnieje w Dictionary<TKey,TValue> , ustawienie Item[] Właściwości zastępuje starą wartość.However, if the specified key already exists in the Dictionary<TKey,TValue>, setting the Item[] property overwrites the old value. Z kolei Add Metoda zgłasza wyjątek, jeśli wartość z określonym kluczem już istnieje.In contrast, the Add method throws an exception if a value with the specified key already exists.

Jeśli Count wartość właściwości jest już równa pojemności, pojemność Dictionary<TKey,TValue> jest zwiększana przez automatyczne ponowne przydzielanie tablicy wewnętrznej, a istniejące elementy są kopiowane do nowej tablicy przed dodaniem nowego elementu.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.

Klucz nie może być null , ale wartość może być, jeśli TValue jest typem referencyjnym.A key cannot be null, but a value can be, if TValue is a reference type.

Jeśli Count jest mniejsza niż pojemność, ta metoda zbliża się do operacji O (1).If Count is less than the capacity, this method approaches an O(1) operation. Jeśli pojemność musi być zwiększona w celu uwzględnienia nowego elementu, ta metoda n jest operacją o (), gdzie n is Count .If the capacity must be increased to accommodate the new element, this method becomes an O(n) operation, where n is Count.

Dotyczy

Zobacz też