Freigeben über


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

Definition

Fügt dem SortedList<TKey,TValue> ein Element mit dem angegebenen Schlüssel und Wert hinzu.

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)

Parameter

key
TKey

Der Schlüssel des hinzuzufügenden Elements.

value
TValue

Der Wert des hinzuzufügenden Elements. Der Wert kann für Verweistypen null sein.

Implementiert

Ausnahmen

key ist null.

In SortedList<TKey,TValue> ist bereits ein Element mit demselben Schlüssel enthalten.

Beispiele

Im folgenden Codebeispiel wird eine Leere SortedList<TKey,TValue> von Zeichenfolgen mit Zeichenfolgenschlüsseln erstellt und die Add -Methode verwendet, um einige Elemente hinzuzufügen. Das Beispiel zeigt, dass die Add -Methode einen ArgumentException auslöst, wenn versucht wird, einen doppelten Schlüssel hinzuzufügen.

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die SortedList<TKey,TValue>-Klasse bereitgestellt wird.

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

Hinweise

Ein Schlüssel kann nicht sein null, aber ein Wert kann sein, wenn der Werttyp in der sortierten Liste TValueein Verweistyp ist.

Sie können auch die Item[] zum Hinzufügen neuer Elemente durch Festlegen des Werts eines Schlüssels, die Eigenschaft ist nicht vorhanden, der SortedList<TKey,TValue>, z. B. myCollection["myNonexistentKey"] = myValue Wenn der angegebene Schlüssel jedoch bereits in vorhanden ist, überschreibt die SortedList<TKey,TValue>Item[] -Eigenschaft den alten Wert. Im Gegensatz dazu ändert die Add Methode vorhandene Elemente nicht.

Wenn Count bereits gleich Capacityist, wird die Kapazität von SortedList<TKey,TValue> erhöht, indem das interne Array automatisch neu zugeordnet wird, und die vorhandenen Elemente werden in das neue Array kopiert, bevor das neue Element hinzugefügt wird.

Diese Methode ist ein O(n)-Vorgang für unsortierte Daten, wobei n ist Count. Es handelt sich um einen O(log n)-Vorgang, wenn das neue Element am Ende der Liste hinzugefügt wird. Wenn das Einfügen eine Größenänderung bewirkt, lautet der Vorgang O(n).

Gilt für:

Weitere Informationen