Бөлісу құралы:


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

Определение

Добавляет указанный ключ и значение в словарь.

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

Ключ добавляемого элемента.

value
TValue

Значение добавляемого элемента. Значение может быть null для ссылочных типов.

Реализации

Исключения

key равно null.

Элемент с тем же ключом уже существует в элементе Dictionary<TKey,TValue>.

Примеры

В следующем примере кода создается пустая Dictionary<TKey,TValue> строка со строковыми ключами и используется Add метод для добавления некоторых элементов. В примере показано, что Add метод вызывает исключение ArgumentException при попытке добавить повторяющийся ключ.

Этот пример кода является частью более крупного примера, предоставленного для Dictionary<TKey,TValue> класса.

// 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.
let openWith = 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")
with :? ArgumentException ->
    printfn "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[] свойство для добавления новых элементов, задав значение ключа, который не существует в Dictionary<TKey,TValue>; например, myCollection[myKey] = myValue (в Visual Basic). myCollection(myKey) = myValue Тем не менее, если указанный ключ уже существует в Dictionary<TKey,TValue>, задав Item[] свойство перезаписывает старое значение. Напротив, метод создает исключение, Add если значение с указанным ключом уже существует.

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

Ключ не может быть, но значение может быть null, если TValue является ссылочным типом.

Если Count емкость меньше емкости, этот метод приближается к операции O(1). Если емкость должна быть увеличена для размещения нового элемента, этот метод становится операцией O(n), где n находится Count.

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

См. также раздел