SortedList.Add(Object, Object) Yöntem

Tanım

Bir nesneye belirtilen anahtar ve değere sahip bir SortedList öğe ekler.

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)

Parametreler

key
Object

Eklenecek öğenin anahtarı.

value
Object

Eklenecek öğenin değeri. Değeri olabilir null.

Uygulamalar

Özel durumlar

key, null'e eşittir.

Belirtilen key öğeye sahip bir öğe nesnede SortedList zaten var.

-veya-

SortedList arabirimini IComparable kullanacak şekilde ayarlanır ve key arabirimini uygulamazIComparable.

SortedList salt okunurdur.

-veya-

sabit SortedList bir boyuta sahiptir.

öğesine eklemek SortedListiçin yeterli kullanılabilir bellek yok.

Karşılaştırıcı bir özel durum oluşturur.

Örnekler

Aşağıdaki kod örneğinde bir SortedList nesneye nasıl öğe ekleneceği gösterilmektedir.

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

Açıklamalar

Ekleme noktası, nesne oluşturulduğunda açıkça veya varsayılan olarak SortedList seçilen karşılaştırıcıya göre belirlenir.

zaten eşitse CountCapacity, iç dizi otomatik olarak yeniden taşınarak nesnenin SortedList kapasitesi artırılır ve mevcut öğeler yeni öğe eklenmeden önce yeni diziye kopyalanır.

Özelliği, nesnesinde Item[]SortedList bulunmayan bir anahtarın değerini ayarlayarak yeni öğeler eklemek için de kullanabilirsiniz (örneğin, myCollection["myNonexistentKey"] = myValue). Ancak, belirtilen anahtar içinde SortedListzaten varsa, özelliğini ayarlamak Item[] eski değerin üzerine yazar. Buna karşılık, Add yöntemi mevcut öğeleri değiştirmez.

Bir SortedList nesnenin öğeleri, oluşturulurken IComparer belirtilen belirli SortedList bir uygulamaya veya anahtarların IComparable kendileri tarafından sağlanan uygulamaya göre anahtarlara göre sıralanır.

Anahtar olamaz null, ancak bir değer olabilir.

Bu yöntem, sıralanmamış veriler için bir O(n) işlemdir ve burada n şeklindedir Count. Yeni öğe listenin sonuna eklenirse bu bir O(log n) işlemdir. Ekleme yeniden boyutlandırmaya neden oluyorsa, işlem olur O(n).

Şunlara uygulanır

Ayrıca bkz.