SortedList<TKey,TValue>.Add(TKey, TValue) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет элемент с указанными ключом и значением в словарь SortedList<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
.
Элемент с таким ключом уже существует в SortedList<TKey,TValue>.
Примеры
В следующем примере кода создается пустая SortedList<TKey,TValue> строка со строковыми ключами и используется Add метод для добавления некоторых элементов. В примере показано, что Add метод создает исключение ArgumentException при попытке добавить повторяющийся ключ.
Этот пример входит в состав более крупного примера использования класса SortedList<TKey,TValue>.
// Create a new sorted list of strings, with string
// keys.
SortedList<String^, String^>^ openWith =
gcnew SortedList<String^, String^>();
// Add some elements to the list. 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 list.
try
{
openWith->Add("txt", "winword.exe");
}
catch (ArgumentException^)
{
Console::WriteLine("An element with Key = \"txt\" already exists.");
}
// Create a new sorted list of strings, with string
// keys.
SortedList<string, string> openWith =
new SortedList<string, string>();
// Add some elements to the list. 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 list.
try
{
openWith.Add("txt", "winword.exe");
}
catch (ArgumentException)
{
Console.WriteLine("An element with Key = \"txt\" already exists.");
}
' Create a new sorted list of strings, with string
' keys.
Dim openWith As New SortedList(Of String, String)
' Add some elements to the list. 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 list.
Try
openWith.Add("txt", "winword.exe")
Catch
Console.WriteLine("An element with Key = ""txt"" already exists.")
End Try
// Create a new sorted list of strings, with string
// keys.
let openWith = SortedList<string, string>()
// Add some elements to the list. 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 list.
try
openWith.Add("txt", "winword.exe");
with
| :? ArgumentException ->
printfn "An element with Key = \"txt\" already exists."
Комментарии
Ключ не может иметь null
значение , но значение может иметь значение , если тип значений в отсортированный список, TValue
, является ссылочным типом.
Свойство также можно использовать Item[] для добавления новых элементов, задав значение ключа, не существующего SortedList<TKey,TValue>в ; например, myCollection["myNonexistentKey"] = myValue
. Однако если указанный ключ уже существует в SortedList<TKey,TValue>, установка Item[] свойства перезаписывает старое значение. В отличие от этого, Add метод не изменяет существующие элементы.
Если Count значение уже равно Capacity, емкость увеличивается путем автоматического SortedList<TKey,TValue> перераспределения внутреннего массива, а существующие элементы копируются в новый массив перед добавлением нового элемента.
Этот метод является операцией O(n
) для несортированных данных, где n
— Count. Это операция O(log n
), если новый элемент добавляется в конец списка. Если вставка вызывает изменение размера, операция будет O(n
).