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

Definitie

Voegt een element met de opgegeven sleutel en waarde toe aan de 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

De sleutel van het element dat moet worden toegevoegd.

value
TValue

De waarde van het element dat moet worden toegevoegd. De waarde kan voor referentietypen zijn null .

Implementeringen

Uitzonderingen

key is null.

Er bestaat al een element met dezelfde sleutel in de SortedList<TKey,TValue>.

Voorbeelden

In het volgende codevoorbeeld wordt een lege SortedList<TKey,TValue> tekenreeks met tekenreekssleutels gemaakt en wordt de Add methode gebruikt om enkele elementen toe te voegen. In het voorbeeld ziet u dat de Add methode een ArgumentException dubbele sleutel genereert bij het toevoegen van een dubbele sleutel.

Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de SortedList<TKey,TValue> klasse.

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

Opmerkingen

Een sleutel kan niet zijn null, maar een waarde kan zijn, als het type waarden in de gesorteerde lijst, TValueeen verwijzingstype is.

U kunt de Item[] eigenschap ook gebruiken om nieuwe elementen toe te voegen door de waarde in te stellen van een sleutel die niet bestaat in de SortedList<TKey,TValue>; bijvoorbeeld myCollection["myNonexistentKey"] = myValue. Als de opgegeven sleutel echter al bestaat in de SortedList<TKey,TValue>eigenschap, wordt de oude waarde overschreven door de Item[] eigenschap in te stellen. De methode wijzigt daarentegen Add geen bestaande elementen.

Als Count deze al gelijk is Capacityaan, wordt de capaciteit van de SortedList<TKey,TValue> matrix verhoogd door de interne matrix automatisch opnieuw te verplaatsen en worden de bestaande elementen gekopieerd naar de nieuwe matrix voordat het nieuwe element wordt toegevoegd.

Deze methode is een O(n)-bewerking voor niet-gesorteerde gegevens, waarbij n .Count Het is een O(logboek n) bewerking als het nieuwe element wordt toegevoegd aan het einde van de lijst. Als invoeging een formaat veroorzaakt, is de bewerking O(n).

Van toepassing op

Zie ook