SortedList.Add(Object, Object) Metod

Definition

Lägger till ett element med den angivna nyckeln och värdet i ett SortedList objekt.

public:
 virtual void Add(System::Object ^ key, System::Object ^ value);
public virtual void Add(object key, object value);
public virtual void Add(object key, object? value);
abstract member Add : obj * obj -> unit
override this.Add : obj * obj -> unit
Public Overridable Sub Add (key As Object, value As Object)

Parametrar

key
Object

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

value
Object

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

Implementeringar

Undantag

key är null.

Ett element med angivet key finns redan i objektet SortedList .

-eller-

SortedList Är inställd på IComparable att använda gränssnittet och key implementerar IComparable inte gränssnittet.

Är SortedList skrivskyddad.

-eller-

Har SortedList en fast storlek.

Det finns inte tillräckligt med ledigt minne för att lägga till elementet i SortedList.

Jämförelsen genererar ett undantag.

Exempel

I följande kodexempel visas hur du lägger till element i ett SortedList objekt.

using System;
using System.Collections;
public class SamplesSortedList  {

   public static void Main()  {

      // Creates and initializes a new SortedList.
      SortedList mySL = new SortedList();
      mySL.Add( "one", "The" );
      mySL.Add( "two", "quick" );
      mySL.Add( "three", "brown" );
      mySL.Add( "four", "fox" );

      // Displays the SortedList.
      Console.WriteLine( "The SortedList contains the following:" );
      PrintKeysAndValues( mySL );
   }

   public static void PrintKeysAndValues( SortedList myList )  {
      Console.WriteLine( "\t-KEY-\t-VALUE-" );
      for ( int i = 0; i < myList.Count; i++ )  {
         Console.WriteLine( "\t{0}:\t{1}", myList.GetKey(i), myList.GetByIndex(i) );
      }
      Console.WriteLine();
   }
}
/*
This code produces the following output.

The SortedList contains the following:
    -KEY-    -VALUE-
    four:    fox
    one:    The
    three:    brown
    two:    quick
*/
Imports System.Collections

Public Class SamplesSortedList    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new SortedList.
        Dim mySL As New SortedList()
        mySL.Add("one", "The")
        mySL.Add("two", "quick")
        mySL.Add("three", "brown")
        mySL.Add("four", "fox")
        
        ' Displays the SortedList.
        Console.WriteLine("The SortedList contains the following:")
        PrintKeysAndValues(mySL)
    End Sub    
    
    Public Shared Sub PrintKeysAndValues(myList As SortedList)
        Console.WriteLine(ControlChars.Tab & "-KEY-" & ControlChars.Tab & _
           "-VALUE-")
        Dim i As Integer
        For i = 0 To myList.Count - 1
            Console.WriteLine(ControlChars.Tab & "{0}:" & ControlChars.Tab & _
               "{1}", myList.GetKey(i), myList.GetByIndex(i))
        Next i
        Console.WriteLine()
    End Sub
End Class

' This code produces the following output.
' 
' The SortedList contains the following:
'     -KEY-    -VALUE-
'     four:    fox
'     one:    The
'     three:    brown
'     two:    quick

Kommentarer

Insättningspunkten bestäms baserat på den valda jämförelsen, antingen explicit eller som standard, när SortedList objektet skapades.

Om Count det redan är lika med ökas Capacityobjektets SortedList kapacitet genom att den interna matrisen automatiskt omplaceras och befintliga element kopieras till den nya matrisen innan det nya elementet läggs till.

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 objektet (till exempel myCollection["myNonexistentKey"] = myValue). Men om den angivna nyckeln redan finns i SortedList, skriver egenskapen Item[] över det gamla värdet. Metoden ändrar däremot Add inte befintliga element.

Elementen i ett SortedList objekt sorteras efter nycklarna antingen enligt en specifik IComparer implementering som anges när SortedList det skapas eller enligt implementeringen IComparable som tillhandahålls av själva nycklarna.

En nyckel kan inte vara null, men ett värde kan vara.

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 O(n)åtgärden .

Gäller för

Se även