IDictionary<TKey,TValue>.Add(TKey, TValue) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Agrega un elemento con la clave y el valor proporcionados a 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)
Parámetros
- key
- TKey
Objeto que se va a utilizar como clave del elemento que se va a agregar.
- value
- TValue
El objeto que se va a usar como valor del elemento que se va a agregar.
Excepciones
key
es null
.
Ya existe un elemento con la misma clave en IDictionary<TKey,TValue>.
IDictionary<TKey,TValue> es de solo lectura.
Ejemplos
En el ejemplo de código siguiente se crea un vacío Dictionary<TKey,TValue> de cadenas, con claves enteras y se accede a ella a través de la IDictionary<TKey,TValue> interfaz . En el ejemplo de código se usa el Add método para agregar algunos elementos. En el ejemplo se muestra que el Add método produce un ArgumentException al intentar agregar una clave duplicada.
Este código forma parte de un ejemplo más grande que se puede compilar y ejecutar. Vea 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
Comentarios
También puede usar la Item[] propiedad para agregar nuevos elementos estableciendo el valor de una clave que no existe en el diccionario; por ejemplo, myCollection["myNonexistentKey"] = myValue
en C# (myCollection("myNonexistentKey") = myValue
en Visual Basic). Sin embargo, si la clave especificada ya existe en el diccionario, al establecer la Item[] propiedad se sobrescribe el valor anterior. En cambio, el Add método no modifica los elementos existentes.
Las implementaciones pueden variar en la forma en que determinan la igualdad de objetos; por ejemplo, la List<T> clase usa Comparer<T>.Default, mientras que la Dictionary<TKey,TValue> clase permite al usuario especificar la IComparer<T> implementación que se va a usar para comparar las claves.
Las implementaciones pueden variar en si permiten key
ser null
.