IDictionary<TKey,TValue>.Add(TKey, TValue) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет элемент с предоставленным ключом и значением в элемент 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
Объект, используемый в качестве ключа добавляемого элемента.
- value
- TValue
Объект, используемый в качестве значения элемента для добавления.
Исключения
key равно null.
Элемент с тем же ключом уже существует в элементе IDictionary<TKey,TValue>.
Доступно IDictionary<TKey,TValue> только для чтения.
Примеры
В следующем примере кода создается пустая Dictionary<TKey,TValue> строка с целыми ключами и обращается к нему через IDictionary<TKey,TValue> интерфейс. В примере кода метод используется Add для добавления некоторых элементов. В примере показано, что Add метод вызывает исключение ArgumentException при попытке добавить повторяющийся ключ.
Этот код является частью более крупного примера, который можно скомпилировать и выполнить. См. 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 =
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[], задав значение ключа, который не существует в словаре; например, myCollection["myNonexistentKey"] = myValue в C# (myCollection("myNonexistentKey") = myValue в Visual Basic). Однако если указанный ключ уже существует в словаре, установка Item[] свойства перезаписывает старое значение. Напротив, Add метод не изменяет существующие элементы.
Реализации могут отличаться в том, как они определяют равенство объектов; Например, класс используетList<T>, Comparer<T>.Default в то время как Dictionary<TKey,TValue> класс позволяет пользователю указать реализацию, используемую IComparer<T> для сравнения ключей.
Реализации могут различаться в зависимости от того, разрешено key ли они быть null.