SortedList.Add(Object, Object) SortedList.Add(Object, Object) SortedList.Add(Object, Object) SortedList.Add(Object, Object) Method

Definition

Fügt einem SortedList-Objekt ein Element mit dem angegebenen Schlüssel und Wert hinzu.Adds an element with the specified key and value to a SortedList object.

public:
 virtual void Add(System::Object ^ key, System::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)

Parameter

key
Object Object Object Object

Der Schlüssel des hinzuzufügenden Elements.The key of the element to add.

value
Object Object Object Object

Der Wert des hinzuzufügenden Elements.The value of the element to add. Der Wert kann null sein.The value can be null.

Implementiert

Ausnahmen

Ein Element mit dem angegebenen key ist bereits im SortedList-Objekt vorhanden.An element with the specified key already exists in the SortedList object.

- oder --or- SortedList ist auf die Verwendung der IComparable-Schnittstelle festgelegt, und key implementiert die IComparable-Schnittstelle nicht.The SortedList is set to use the IComparable interface, and key does not implement the IComparable interface.

SortedList ist schreibgeschützt.The SortedList is read-only.

- oder --or- SortedList hat eine feste Größe.The SortedList has a fixed size.

Es ist nicht genügend Arbeitsspeicher verfügbar, um das Element zu SortedList hinzuzufügen.There is not enough available memory to add the element to the SortedList.

Der Vergleich löst eine Ausnahme aus.The comparer throws an exception.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Elemente zu einem SortedList -Objekt hinzugefügt werden.The following code example shows how to add elements to a SortedList object.

#using <system.dll>

using namespace System;
using namespace System::Collections;
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();
}

int main()
{
   
   // Creates and initializes a new SortedList.
   SortedList^ mySL = gcnew 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 );
}

/* 
This code produces the following output.

The SortedList contains the following:
        -KEY-   -VALUE-
        four:   fox
        one:    The
        three:  brown
        two:    quick
*/
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
Imports System.Collections
Imports Microsoft.VisualBasic

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
 

Hinweise

Die Einfügemarke wird basierend auf dem ausgewählten Vergleich festgelegt, entweder explizit oder standardmäßig SortedList , wenn das Objekt erstellt wurde.The insertion point is determined based on the comparer selected, either explicitly or by default, when the SortedList object was created.

Wenn Count bereits entspricht Capacity ,wirddieKapazitätdes-ObjektsdurchautomatischesNeuzuordnendesinternenArrayserhöht,unddievorhandenenElementewerdenindasneueArraykopiert,bevordasneueElementhinzugefügtwird.SortedListIf Count already equals Capacity, the capacity of the SortedList object is increased by automatically reallocating the internal array, and the existing elements are copied to the new array before the new element is added.

Sie können auch die Item[Object] -Eigenschaft verwenden, um neue Elemente hinzuzufügen, indem Sie den Wert eines Schlüssels festlegen, der SortedList im- myCollection["myNonexistentKey"] = myValueObjekt nicht vorhanden ist (z. b.).You can also use the Item[Object] property to add new elements by setting the value of a key that does not exist in the SortedList object (for example, myCollection["myNonexistentKey"] = myValue). Wenn jedoch der angegebene Schlüssel bereits in SortedListvorhanden ist, wird durch das Festlegen der Item[Object] -Eigenschaft der alte Wert überschrieben.However, if the specified key already exists in the SortedList, setting the Item[Object] property overwrites the old value. Im Gegensatz dazu ändert Add die-Methode keine vorhandenen Elemente.In contrast, the Add method does not modify existing elements.

Die Elemente eines SortedList -Objekts werden nach den Schlüsseln sortiert, entweder entsprechend einer bestimmten IComparer -Implementierung, die SortedList beim Erstellen von angegeben wird, IComparable oder gemäß der Implementierung, die von den Schlüsseln selbst bereitgestellt wird.The elements of a SortedList object are sorted by the keys either according to a specific IComparer implementation specified when the SortedList is created or according to the IComparable implementation provided by the keys themselves.

Ein Schlüssel kann nicht nullsein, aber ein Wert kann sein.A key cannot be null, but a value can be.

Bei dieser Methode handelt es sichnum einen O ()-Vorgang für unsortierte Daten, wobei n den Wert hat. CountThis method is an O(n) operation for unsorted data, where n is Count. Es handelt sich um einen O n(Log)-Vorgang, wenn das neue Element am Ende der Liste hinzugefügt wird.It is an O(log n) operation if the new element is added at the end of the list. Wenn das Einfügen eine Größenänderung bewirkt, ist der Vorgang On().If insertion causes a resize, the operation is O(n).

Gilt für:

Siehe auch