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

Definizione

Aggiunge un elemento con la chiave e il valore forniti all'interfaccia 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)

Parametri

key
TKey

Oggetto da usare come chiave dell'elemento da aggiungere.

value
TValue

Oggetto da usare come valore dell'elemento da aggiungere.

Eccezioni

key è null.

In IDictionary<TKey,TValue> è già presente un elemento con la stessa chiave.

La classe IDictionary<TKey,TValue> è di sola lettura.

Esempio

Nell'esempio di codice seguente viene creato un vuoto Dictionary<TKey,TValue> di stringhe, con chiavi integer e vi si accede tramite l'interfaccia IDictionary<TKey,TValue> . Nell'esempio di codice viene utilizzato il Add metodo per aggiungere alcuni elementi. Nell'esempio viene illustrato che il Add metodo genera un'eccezione ArgumentException quando si tenta di aggiungere una chiave duplicata.

Questo codice fa parte di un esempio più ampio che può essere compilato ed eseguito. Vedere 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

Commenti

È anche possibile usare la Item[] proprietà per aggiungere nuovi elementi impostando il valore di una chiave che non esiste nel dizionario, myCollection["myNonexistentKey"] = myValue ad esempio in C# (myCollection("myNonexistentKey") = myValue in Visual Basic). Tuttavia, se la chiave specificata esiste già nel dizionario, l'impostazione della Item[] proprietà sovrascrive il valore precedente. Al contrario, il Add metodo non modifica gli elementi esistenti.

Le implementazioni possono variare in base al modo in cui determinano l'uguaglianza degli oggetti; Ad esempio, la List<T> classe usa Comparer<T>.Default, mentre la Dictionary<TKey,TValue> classe consente all'utente di specificare l'implementazione IComparer<T> da usare per il confronto delle chiavi.

Le implementazioni possono variare in base al fatto che consentano key di essere null.

Si applica a

Vedi anche