IDictionary<TKey,TValue>.Add(TKey, TValue) Метод

Определение

Добавляет элемент с указанными ключом и значением в IDictionary<TKey,TValue>.Adds an element with the provided key and value to the 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)

Параметры

key
TKey

Объект, используемый в качестве ключа добавляемого элемента.The object to use as the key of the element to add.

value
TValue

Объект, используемый в качестве значения добавляемого элемента.The object to use as the value of the element to add.

Исключения

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

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

Объект IDictionary<TKey,TValue> доступен только для чтения.The IDictionary<TKey,TValue> is read-only.

Примеры

В следующем примере кода создается пустая Dictionary<TKey,TValue> строка с целочисленными ключами и доступ к ней IDictionary<TKey,TValue> через интерфейс.The following code example creates an empty Dictionary<TKey,TValue> of strings, with integer keys, and accesses it through the IDictionary<TKey,TValue> interface. В примере кода Add метод используется для добавления некоторых элементов.The code example 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.

Этот код является частью более крупного примера, который может быть скомпилирован и выполнен.This code is part of a larger example that can be compiled and executed. См. раздел System.Collections.Generic.IDictionary<TKey,TValue>.See 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

Комментарии

Можно также использовать Item[TKey] свойство для добавления новых элементов, задав значение ключа, который не существует в словаре, myCollection["myNonexistentKey"] = myValue например в C# (myCollection("myNonexistentKey") = myValue в Visual Basic).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; for example, myCollection["myNonexistentKey"] = myValue in C# (myCollection("myNonexistentKey") = myValue in Visual Basic). Однако если указанный ключ уже существует в словаре, установка Item[TKey] свойства перезаписывает старое значение.However, if the specified key already exists in the dictionary, setting the Item[TKey] property overwrites the old value. В отличие от этого Add , метод не изменяет существующие элементы.In contrast, the Add method does not modify existing elements.

Реализации могут различаться в зависимости от того, как они определяют равенство объектов; Например, List<T> класс использует Comparer<T>.Default, тогда как Dictionary<TKey,TValue> класс позволяет пользователю указать IComparer<T> реализацию, используемую для сравнения ключей.Implementations can vary in how they determine equality of objects; for example, the List<T> class uses Comparer<T>.Default, whereas the Dictionary<TKey,TValue> class allows the user to specify the IComparer<T> implementation to use for comparing keys.

Реализации могут различаться в зависимости от того key null, разрешены ли они.Implementations can vary in whether they allow key to be null.

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

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