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

Definicja

Dodaje element z podanym kluczem i wartością do IDictionary<TKey,TValue> .Adds an element with the provided key and value to the IDictionary<TKey,TValue>.

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

Parametry

key
TKey

Obiekt, który ma być używany jako klucz elementu do dodania.The object to use as the key of the element to add.

value
TValue

Obiekt, który ma być używany jako wartość elementu do dodania.The object to use as the value of the element to add.

Wyjątki

key to null.key is null.

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

Przykłady

Poniższy przykład kodu tworzy puste Dictionary<TKey,TValue> ciągi, z kluczami całkowitymi i uzyskuje dostęp do niego za pomocą IDictionary<TKey,TValue> interfejsu.The following code example creates an empty Dictionary<TKey,TValue> of strings, with integer keys, and accesses it through the IDictionary<TKey,TValue> interface. W przykładzie kodu jest stosowana Add Metoda dodawania niektórych elementów.The code example 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 kod jest częścią większego przykładu, który można skompilować i wykonać.This code is part of a larger example that can be compiled and executed. Zobacz: System.Collections.Generic.IDictionary<TKey,TValue>.See System.Collections.Generic.IDictionary<TKey,TValue>.

// Create a new dictionary of strings, with string keys,
// and access it through the IDictionary generic interface.
IDictionary<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,
// and access it through the IDictionary generic interface.
IDictionary<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, 
' and access it through the IDictionary generic interface.
Dim openWith As IDictionary(Of String, String) = _
    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 słowniku, na przykład myCollection["myNonexistentKey"] = myValue w języku C# ( myCollection("myNonexistentKey") = myValue w Visual Basic).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; for example, myCollection["myNonexistentKey"] = myValue in C# (myCollection("myNonexistentKey") = myValue in Visual Basic). Jeśli jednak określony klucz już istnieje w słowniku, ustawienie Item[] Właściwości zastępuje starą wartość.However, if the specified key already exists in the dictionary, setting the Item[] property overwrites the old value. Z kolei Metoda nie Add modyfikuje istniejących elementów.In contrast, the Add method does not modify existing elements.

Implementacje mogą się różnić w zależności od tego, jak określają równość obiektów; na przykład List<T> Klasa używa klasy Comparer<T>.Default , podczas gdy Dictionary<TKey,TValue> Klasa umożliwia użytkownikowi określenie IComparer<T> implementacji do użycia podczas porównywania kluczy.Implementations can vary in how they determine equality of objects; for example, the List<T> class uses Comparer<T>.Default, whereas the Dictionary<TKey,TValue> class allows the user to specify the IComparer<T> implementation to use for comparing keys.

Implementacje mogą się różnić w zależności od tego, czy zezwalają key na to null .Implementations can vary in whether they allow key to be null.

Dotyczy

Zobacz też