Sdílet prostřednictvím


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

Definice

Přidá prvek se zadaným klíčem a hodnotou do objektu 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

Objekt, který se má použít jako klíč prvku, který se má přidat.

value
TValue

Objekt, který se má použít jako hodnota elementu, který se má přidat.

Výjimky

key je null.

Prvek se stejným klíčem již existuje v objektu IDictionary<TKey,TValue>.

Příklady

Následující příklad kódu vytvoří prázdný Dictionary<TKey,TValue> řetězec s celočíselnými klíči a přistupuje k němu prostřednictvím IDictionary<TKey,TValue> rozhraní. Příklad kódu používá metodu Add k přidání některých prvků. Příklad ukazuje, že Add metoda vyvolá chybu ArgumentException při pokusu o přidání duplicitního klíče.

Tento kód je součástí většího příkladu, který lze zkompilovat a spustit. Viz třída 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

Poznámky

Vlastnost můžete také použít Item[] k přidání nových prvků nastavením hodnoty klíče, který neexistuje ve slovníku, myCollection["myNonexistentKey"] = myValue například v jazyce C# (myCollection("myNonexistentKey") = myValue v jazyce Visual Basic). Pokud však zadaný klíč již ve slovníku existuje, nastavení Item[] vlastnosti přepíše starou hodnotu. Naproti tomu Add metoda neupravuje existující prvky.

Implementace se mohou lišit v tom, jak určují rovnost objektů; Třída například List<T> používá , zatímco Dictionary<TKey,TValue> třída umožňuje uživateli zadat implementaciIComparer<T>, která se má použít Comparer<T>.Defaultpro porovnání klíčů.

Implementace se můžou lišit v tom, jestli umožňují key být null.

Platí pro

Viz také