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

Definition

Lägger till ett element med den angivna nyckeln och värdet i 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)

Parametrar

key
TKey

Nyckeln för elementet som ska läggas till.

value
TValue

Värdet för elementet som ska läggas till. Värdet kan vara null för referenstyper.

Implementeringar

Undantag

key är null.

Det finns redan ett element med samma nyckel i SortedList<TKey,TValue>.

Exempel

I följande kodexempel skapas en tom SortedList<TKey,TValue> sträng med strängnycklar och metoden används Add för att lägga till vissa element. Exemplet visar att Add metoden genererar en ArgumentException när du försöker lägga till en dubblettnyckel.

Det här kodexemplet är en del av ett större exempel för SortedList<TKey,TValue> klassen.

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

Kommentarer

En nyckel får inte vara null, men ett värde kan vara om typen av värden i den sorterade listan är TValueen referenstyp.

Du kan också använda Item[] egenskapen för att lägga till nya element genom att ange värdet för en nyckel som inte finns i SortedList<TKey,TValue>, till exempel myCollection["myNonexistentKey"] = myValue. Men om den angivna nyckeln redan finns i SortedList<TKey,TValue>, skriver egenskapen Item[] över det gamla värdet. Metoden ändrar däremot Add inte befintliga element.

Om Count det redan är lika Capacitymed ökar kapaciteten för den SortedList<TKey,TValue> genom att automatiskt omplacera den interna matrisen och de befintliga elementen kopieras till den nya matrisen innan det nya elementet läggs till.

Den här metoden är en O(n)-åtgärd för osorterade data, där n är Count. Det är en O(log n) åtgärd om det nya elementet läggs till i slutet av listan. Om infogning orsakar en storleksändring är åtgärden O(n).

Gäller för

Se även