Dictionary<TKey,TValue>.Add(TKey, TValue) Método

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

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

value
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

key é null.key is null.

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 Dictionary<TKey,TValue> cadeia de caracteres vazia 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 gera 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 faz parte de um exemplo maior fornecido para a 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 a Item[] propriedade para adicionar novos elementos definindo o valor de uma chave que não existe no Dictionary<TKey,TValue> ; por exemplo, myCollection[myKey] = myValue (em Visual Basic, myCollection(myKey) = myValue ).You can also use the Item[] 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á existir no Dictionary<TKey,TValue> , definir a Item[] Propriedade substituirá o valor antigo.However, if the specified key already exists in the Dictionary<TKey,TValue>, setting the Item[] property overwrites the old value. Por outro lado, o Add método lançará uma exceção se um valor com a chave especificada já existir.In contrast, the Add method throws an exception if a value with the specified key already exists.

Se o Count valor da propriedade já for igual à capacidade, a capacidade do Dictionary<TKey,TValue> será aumentada realocando automaticamente a matriz interna e os elementos existentes serão copiados para a nova matriz antes que o novo elemento seja 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 pode ser, se TValue for um tipo de referência.A key cannot be null, but a value can be, if TValue is a reference type.

Se Count for menor que a capacidade, esse método se aproximará de uma operação O (1).If Count is less than the capacity, this method approaches an O(1) operation. Se a capacidade precisar ser aumentada para acomodar o novo elemento, esse método se tornará uma operação O ( n ), em que 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

Confira também