IDictionary<TKey,TValue>.Add(TKey, TValue) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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>.
Je IDictionary<TKey,TValue> jen pro čtení.
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
.