Dictionary<TKey,TValue>.Add(TKey, TValue) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Voegt de opgegeven sleutel en waarde toe aan de woordenlijst.
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
De sleutel van het element dat moet worden toegevoegd.
- value
- TValue
De waarde van het element dat moet worden toegevoegd. De waarde kan voor referentietypen zijn null .
Implementeringen
Uitzonderingen
key is null.
Er bestaat al een element met dezelfde sleutel in de Dictionary<TKey,TValue>.
Voorbeelden
In het volgende codevoorbeeld wordt een lege Dictionary<TKey,TValue> tekenreeks met tekenreekssleutels gemaakt en wordt de Add methode gebruikt om enkele elementen toe te voegen. In het voorbeeld ziet u dat de Add methode een ArgumentException dubbele sleutel genereert bij het toevoegen van een dubbele sleutel.
Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de Dictionary<TKey,TValue> klasse.
// 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.
let openWith = 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")
with :? ArgumentException ->
printfn "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
Opmerkingen
U kunt ook de eigenschap Item[] gebruiken om nieuwe elementen toe te voegen door de waarde in te stellen van een sleutel die niet bestaat in de Dictionary<TKey,TValue>; bijvoorbeeld myCollection[myKey] = myValue (in Visual Basic myCollection(myKey) = myValue). Als de opgegeven sleutel echter al bestaat in de Dictionary<TKey,TValue>eigenschap, wordt de oude waarde overschreven door de Item[] eigenschap in te stellen. De methode genereert daarentegen Add een uitzondering als er al een waarde met de opgegeven sleutel bestaat.
Als de Count eigenschapswaarde al gelijk is aan de capaciteit, wordt de capaciteit van de Dictionary<TKey,TValue> eigenschap verhoogd door de interne matrix automatisch opnieuw te verplaatsen en worden de bestaande elementen gekopieerd naar de nieuwe matrix voordat het nieuwe element wordt toegevoegd.
Een sleutel kan niet zijn null, maar een waarde kan zijn, als TValue het een verwijzingstype is.
Als Count deze methode kleiner is dan de capaciteit, wordt een O(1)-bewerking benaderd. Als de capaciteit moet worden verhoogd om het nieuwe element aan te kunnen, wordt deze methode een O(n-bewerking, waar n dat is Count.