SortedList.Add(Object, Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.
öğ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).