Dictionary<TKey,TValue>.Add(TKey, TValue) Dictionary<TKey,TValue>.Add(TKey, TValue) Dictionary<TKey,TValue>.Add(TKey, TValue) Dictionary<TKey,TValue>.Add(TKey, TValue) Method

Definição

Adiciona a chave e o valor especificados ao dicionário.Adds the specified key and value to the dictionary.

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)

Parâmetros

key
TKey TKey TKey TKey

A chave do elemento a ser adicionada.The key of the element to add.

value
TValue TValue TValue TValue

O valor do elemento a ser adicionado.The value of the element to add. O valor pode ser null para tipos de referência.The value can be null for reference types.

Implementações

Exceções

Já existe um elemento com a mesma chave no Dictionary<TKey,TValue>.An element with the same key already exists in the Dictionary<TKey,TValue>.

Exemplos

O exemplo de código a seguir cria uma vazia Dictionary<TKey,TValue> de cadeias de caracteres com chaves de cadeia de caracteres e usa o Add método para adicionar alguns elementos.The following code example creates an empty Dictionary<TKey,TValue> of strings with string keys and uses the Add method to add some elements. O exemplo demonstra que o Add método lança um ArgumentException ao tentar adicionar uma chave duplicada.The example demonstrates that the Add method throws an ArgumentException when attempting to add a duplicate key.

Este exemplo de código é parte de um exemplo maior fornecido para o Dictionary<TKey,TValue> classe.This code example is part of a larger example provided for the Dictionary<TKey,TValue> class.

// Create a new dictionary of strings, with string keys.
//
Dictionary<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.
//
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.
'
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

Comentários

Você também pode usar o Item[TKey] propriedade para adicionar novos elementos ao definir o valor de uma chave que não existe na Dictionary<TKey,TValue>; por exemplo, myCollection[myKey] = myValue (no Visual Basic, myCollection(myKey) = myValue).You can also use the Item[TKey] property to add new elements by setting the value of a key that does not exist in the Dictionary<TKey,TValue>; for example, myCollection[myKey] = myValue (in Visual Basic, myCollection(myKey) = myValue). No entanto, se a chave especificada já existe na Dictionary<TKey,TValue>, definindo o Item[TKey] propriedade substitui o valor antigo.However, if the specified key already exists in the Dictionary<TKey,TValue>, setting the Item[TKey] property overwrites the old value. Em contraste, o Add método lança uma exceção se um valor com a chave especificada já existe.In contrast, the Add method throws an exception if a value with the specified key already exists.

Se o Count a capacidade, a capacidade do valor da propriedade já for igual a Dictionary<TKey,TValue> é aumentado, automaticamente realocando a matriz interna, e os elementos existentes são copiados para a nova matriz antes do novo elemento é adicionado.If the Count property value already equals the capacity, the capacity of the Dictionary<TKey,TValue> is increased by automatically reallocating the internal array, and the existing elements are copied to the new array before the new element is added.

Uma chave não pode ser null, mas um valor possível, se TValue é um tipo de referência.A key cannot be null, but a value can be, if TValue is a reference type.

Se Count é menor que a capacidade, esse método se aproxima de uma operação de (1).If Count is less than the capacity, this method approaches an O(1) operation. Se a capacidade deve ser aumentada para acomodar o novo elemento, esse método se torna um O (n) a operação, onde n é Count.If the capacity must be increased to accommodate the new element, this method becomes an O(n) operation, where n is Count.

Aplica-se a

Veja também