SortedList<TKey,TValue>.Add(TKey, TValue) Method

Definition

Aggiunge un elemento con la chiave e il valore specificati al metodo SortedList<TKey,TValue>.Adds an element with the specified key and value into the 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)

Parameters

key
TKey

Chiave dell'elemento da aggiungere.The key of the element to add.

value
TValue

Valore dell'elemento da aggiungere.The value of the element to add. Il valore può essere null per i tipi di riferimento.The value can be null for reference types.

Implements

Exceptions

key è null.key is null.

In SortedList<TKey,TValue> è già presente un elemento con la stessa chiave.An element with the same key already exists in the SortedList<TKey,TValue>.

Examples

L'esempio di codice seguente crea una SortedList<TKey,TValue> vuota di stringhe con chiavi di stringa e usa il metodo Add per aggiungere alcuni elementi.The following code example creates an empty SortedList<TKey,TValue> of strings with string keys and uses the Add method to add some elements. Nell'esempio viene illustrato che il metodo Add genera un'ArgumentException quando si tenta di aggiungere una chiave duplicata.The example demonstrates that the Add method throws an ArgumentException when attempting to add a duplicate key.

Questo esempio di codice fa parte di un esempio più ampio fornito per la classe SortedList<TKey,TValue>.This code example is part of a larger example provided for the SortedList<TKey,TValue> class.

// 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

Remarks

Una chiave non può essere null, ma un valore può essere, se il tipo di valori nell'elenco ordinato, TValue, è un tipo di riferimento.A key cannot be null, but a value can be, if the type of values in the sorted list, TValue, is a reference type.

È anche possibile usare la proprietà Item[] per aggiungere nuovi elementi impostando il valore di una chiave che non esiste nel SortedList<TKey,TValue>; ad esempio, myCollection["myNonexistentKey"] = myValue.You can also use the Item[] property to add new elements by setting the value of a key that does not exist in the SortedList<TKey,TValue>; for example, myCollection["myNonexistentKey"] = myValue. Tuttavia, se la chiave specificata esiste già nella SortedList<TKey,TValue>, l'impostazione della proprietà Item[] sovrascrive il valore precedente.However, if the specified key already exists in the SortedList<TKey,TValue>, setting the Item[] property overwrites the old value. Al contrario, il metodo Add non modifica gli elementi esistenti.In contrast, the Add method does not modify existing elements.

Se Count è già uguale Capacity, la capacità del SortedList<TKey,TValue> viene aumentata riallocando automaticamente la matrice interna e gli elementi esistenti vengono copiati nella nuova matrice prima che il nuovo elemento venga aggiunto.If Count already equals Capacity, the capacity of the SortedList<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.

Questo metodo è un'operazione O (n) per i dati non ordinati, in cui n è Count.This method is an O(n) operation for unsorted data, where n is Count. Si tratta di un'operazione O (log n) se il nuovo elemento viene aggiunto alla fine dell'elenco.It is an O(log n) operation if the new element is added at the end of the list. Se l'inserimento provoca un ridimensionamento, l'operazione è O (n).If insertion causes a resize, the operation is O(n).

Applies to

See also