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

Определение

Добавляет указанные ключ и значение в словарь.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)

Параметры

key
TKey TKey TKey TKey

Ключ добавляемого элемента.The key of the element to add.

value
TValue TValue TValue TValue

Добавляемое значение элемента.The value of the element to add. Для ссылочных типов допускается значение null.The value can be null for reference types.

Реализации

Исключения

Свойство key имеет значение null.key is null.

Элемент с таким ключом уже существует в Dictionary<TKey,TValue>.An element with the same key already exists in the Dictionary<TKey,TValue>.

Примеры

Примечание

Примеры C# в этой статье выполняются во встроенном средстве выполнения кода и на площадке Try.NET.The C# examples in this article run in the Try.NET inline code runner and playground. Нажмите на кнопку Выполнить, чтобы выполнить пример в интерактивном окне.Select the Run button to run an example in an interactive window. После выполнения кода вы можете изменить его и выполнить измененный код, снова нажав на кнопку Выполнить.Once you execute the code, you can modify it and run the modified code by selecting Run again. Либо в интерактивном окне выполняется измененный код, либо, если компиляция завершается с ошибкой, в интерактивном окне отображаются все сообщения об ошибках компилятора C#.The modified code either runs in the interactive window or, if compilation fails, the interactive window displays all C# compiler error messages.

В следующем примере кода создается пустая Dictionary<TKey,TValue> строка со строковыми ключами и Add используется метод для добавления некоторых элементов.The following code example creates an empty Dictionary<TKey,TValue> of strings with string keys and uses the Add method to add some elements. В примере показано, что Add ArgumentException при попытке добавления повторяющегося ключа метод создает исключение.The example demonstrates that the Add method throws an ArgumentException when attempting to add a duplicate key.

Этот пример кода является частью большого примера, Dictionary<TKey,TValue> приведенного для класса.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

Комментарии

Можно также использовать Item[TKey] свойство для добавления новых элементов, задав значение ключа, который не существует в, Dictionary<TKey,TValue>например myCollection[myKey] = myValue (в 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). Однако если указанный ключ уже существует в Dictionary<TKey,TValue>, Item[TKey] установка свойства перезаписывает старое значение.However, if the specified key already exists in the Dictionary<TKey,TValue>, setting the Item[TKey] property overwrites the old value. В отличие от этого Add , метод создает исключение, если значение с указанным ключом уже существует.In contrast, the Add method throws an exception if a value with the specified key already exists.

Если значение Dictionary<TKey,TValue> свойства уже равно емкости, емкость массива увеличивается путем автоматического перераспределения внутреннего массива, а существующие элементы копируются в новый массив перед добавлением нового элемента. CountIf 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.

Ключ не может быть null, но значение может быть, если TValue является ссылочным типом.A key cannot be null, but a value can be, if TValue is a reference type.

Если Count меньше, чем емкость, этот метод приближается к операции O (1).If Count is less than the capacity, this method approaches an O(1) operation. Если емкость должна быть увеличена для размещения нового элемента, этот метод становится операцией O (n), где n имеет значение Count.If the capacity must be increased to accommodate the new element, this method becomes an O(n) operation, where n is Count.

Применяется к

Дополнительно