Aracılığıyla paylaş


SortedList Sınıf

Tanım

Anahtarlara göre sıralanmış ve anahtara ve dizine göre erişilebilen anahtar/değer çiftleri koleksiyonunu temsil eder.

public ref class SortedList : System::Collections::IDictionary
public ref class SortedList : ICloneable, System::Collections::IDictionary
public class SortedList : System.Collections.IDictionary
public class SortedList : ICloneable, System.Collections.IDictionary
[System.Serializable]
public class SortedList : ICloneable, System.Collections.IDictionary
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SortedList : ICloneable, System.Collections.IDictionary
type SortedList = class
    interface ICollection
    interface IEnumerable
    interface IDictionary
type SortedList = class
    interface ICollection
    interface IEnumerable
    interface IDictionary
    interface ICloneable
[<System.Serializable>]
type SortedList = class
    interface IDictionary
    interface ICollection
    interface IEnumerable
    interface ICloneable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SortedList = class
    interface IDictionary
    interface ICollection
    interface IEnumerable
    interface ICloneable
Public Class SortedList
Implements IDictionary
Public Class SortedList
Implements ICloneable, IDictionary
Devralma
SortedList
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği, bir SortedList nesnenin nasıl oluşturulup başlatılacağını ve anahtarlarının ve değerlerinin nasıl yazdırılacağını gösterir.

using System;
using System.Collections;

public class SamplesSortedList2
{
    public static void Main()
    {
        // Creates and initializes a new SortedList.
        SortedList mySL = new SortedList();
        mySL.Add("Third", "!");
        mySL.Add("Second", "World");
        mySL.Add("First", "Hello");

        // Displays the properties and values of the SortedList.
        Console.WriteLine("mySL");
        Console.WriteLine("  Count:    {0}", mySL.Count);
        Console.WriteLine("  Capacity: {0}", mySL.Capacity);
        Console.WriteLine("  Keys and Values:");
        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.

mySL
  Count:    3
  Capacity: 16
  Keys and Values:
    -KEY-    -VALUE-
    First:    Hello
    Second:    World
    Third:    !
*/
Imports System.Collections

Public Class SamplesSortedList    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new SortedList.
        Dim mySL As New SortedList()
        mySL.Add("Third", "!")
        mySL.Add("Second", "World")
        mySL.Add("First", "Hello")
        
        ' Displays the properties and values of the SortedList.
        Console.WriteLine("mySL")
        Console.WriteLine("  Count:    {0}", mySL.Count)
        Console.WriteLine("  Capacity: {0}", mySL.Capacity)
        Console.WriteLine("  Keys and Values:")
        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.
' 
' mySL
'   Count:    3
'   Capacity: 16
'   Keys and Values:
'     -KEY-     -VALUE-
'     First:    Hello
'     Second:   World
'     Third:    !

Açıklamalar

Bir SortedList öğeye herhangi bir uygulamadaki bir öğe gibi anahtarı veya herhangi IDictionary bir uygulamadaki IList bir öğe gibi dizini tarafından erişilebilir.

Önemli

Sınıfını yeni geliştirme için kullanmanızı SortedList önermiyoruz. Bunun yerine genel System.Collections.Generic.SortedList<TKey,TValue> sınıfı kullanmanızı öneririz. Daha fazla bilgi için bkz. GitHub'da genel olmayan koleksiyonlar kullanılmamalıdır .

Nesne SortedList , listenin öğelerini depolamak için dahili olarak iki dizi tutar; yani, anahtarlar için bir dizi ve ilişkili değerler için başka bir dizi. Her öğe, nesne olarak erişilebilen bir DictionaryEntry anahtar/değer çiftidir. Anahtar olamaz null, ancak bir değer olabilir.

Bir SortedList nesnenin kapasitesi, barındırabileceği öğelerin SortedList sayısıdır. öğesine öğeler eklendikçe SortedListkapasite, yeniden ayırma aracılığıyla gerektiği gibi otomatik olarak artırılır. Kapasite çağrılarak TrimToSize veya özelliği açıkça ayarlanarak Capacity azaltılabilir.

Yalnızca .NET Framework: Çok büyük SortedList nesneler için, yapılandırma öğesinin özniteliğini çalışma zamanı ortamında olarak ayarlayarak enabled 64 bitlik bir sistemde maksimum kapasiteyi <gcAllowVeryLargeObjects> 2 milyar öğeye true yükseltebilirsiniz.

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

Dizin dizisi sıralama dizisini temel alır. Bir öğe eklendiğinde, doğru sıralama düzeninde içine SortedList eklenir ve dizinleme buna göre ayarlanır. Bir öğe kaldırıldığında, dizinleme de buna göre ayarlanır. Bu nedenle, öğeler nesneye eklendikçe veya nesneden kaldırıldıkçe belirli bir anahtar/değer çiftinin SortedList dizini değişebilir.

Bir nesnedeki SortedList işlemler, sıralama nedeniyle nesnedeki Hashtable işlemlerden daha yavaş olma eğilimindedir. Ancak, SortedList ilişkili anahtarlar veya dizinler aracılığıyla değerlere erişime izin vererek daha fazla esneklik sunar.

Bu koleksiyondaki öğelere tamsayı dizini kullanılarak erişilebilir. Bu koleksiyondaki dizinler sıfır tabanlıdır.

foreach C# dilinin deyimi (for eachVisual Basic'te) koleksiyondaki öğelerin türünde bir nesne döndürür. Nesnenin SortedList her öğesi bir anahtar/değer çifti olduğundan, öğe türü anahtarın türü veya değerin türü değildir. Bunun yerine, öğe türü şeklindedir DictionaryEntry. Örneğin:

foreach (DictionaryEntry de in mySortedList)
{
    //...
}
For Each de As DictionaryEntry In mySortedList
    '...
Next de

foreach deyimi, numaralandırıcının etrafındaki bir sarmalayıcıdır ve bu, koleksiyona yazmanıza değil, yalnızca bu dosyadan okumaya izin verir.

Oluşturucular

Name Description
SortedList()

Sınıfın SortedList boş, varsayılan başlangıç kapasitesine sahip yeni bir örneğini başlatır ve nesneye IComparable eklenen her anahtar tarafından uygulanan arabirime SortedList göre sıralanır.

SortedList(IComparer, Int32)

Sınıfın SortedList boş, belirtilen başlangıç kapasitesine sahip ve belirtilen IComparer arabirime göre sıralanmış yeni bir örneğini başlatır.

SortedList(IComparer)

Sınıfın SortedList boş, varsayılan başlangıç kapasitesine sahip ve belirtilen IComparer arabirime göre sıralanmış yeni bir örneğini başlatır.

SortedList(IDictionary, IComparer)

Sınıfın SortedList , belirtilen sözlükten kopyalanan öğeleri içeren yeni bir örneğini başlatır, kopyalanan öğe sayısıyla aynı başlangıç kapasitesine sahiptir ve belirtilen IComparer arabirime göre sıralanır.

SortedList(IDictionary)

Belirtilen sözlükten kopyalanan öğeleri içeren sınıfın SortedList yeni bir örneğini başlatır, kopyalanan öğe sayısıyla aynı başlangıç kapasitesine sahiptir ve her anahtar tarafından uygulanan arabirime IComparable göre sıralanır.

SortedList(Int32)

Sınıfın SortedList boş, belirtilen başlangıç kapasitesine sahip yeni bir örneğini başlatır ve nesneye IComparable eklenen her anahtar tarafından uygulanan arabirime SortedList göre sıralanır.

Özellikler

Name Description
Capacity

Bir SortedList nesnenin kapasitesini alır veya ayarlar.

Count

Bir SortedList nesnedeki öğelerin sayısını alır.

IsFixedSize

Nesnenin sabit bir boyuta sahip olup olmadığını gösteren bir SortedList değer alır.

IsReadOnly

Bir nesnenin salt okunur olup olmadığını gösteren bir SortedList değer alır.

IsSynchronized

Bir nesneye erişimin eşitlenip eşitlenmediğini belirten bir SortedList değer alır (iş parçacığı güvenli).

Item[Object]

Nesnedeki belirli bir anahtarla SortedList ilişkili değeri alır veya ayarlar.

Keys

Bir SortedList nesnedeki anahtarları alır.

SyncRoot

Bir nesneye erişimi eşitlemek için kullanılabilecek bir SortedList nesne alır.

Values

Bir SortedList nesnedeki değerleri alır.

Yöntemler

Name Description
Add(Object, Object)

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

Clear()

Nesneden SortedList tüm öğeleri kaldırır.

Clone()

Nesnenin sığ bir SortedList kopyasını oluşturur.

Contains(Object)

Bir nesnenin belirli bir SortedList anahtar içerip içermediğini belirler.

ContainsKey(Object)

Bir nesnenin belirli bir SortedList anahtar içerip içermediğini belirler.

ContainsValue(Object)

Bir nesnenin belirli bir SortedList değer içerip içermediğini belirler.

CopyTo(Array, Int32)

SortedList Dizideki belirtilen dizinden başlayarak öğeleri tek boyutlu Array bir nesneye kopyalar.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetByIndex(Int32)

Bir SortedList nesnenin belirtilen dizinindeki değeri alır.

GetEnumerator()

Bir IDictionaryEnumerator nesne üzerinden yineleyen bir SortedList nesne döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetKey(Int32)

Anahtarı bir SortedList nesnenin belirtilen dizininde alır.

GetKeyList()

Bir SortedList nesnedeki anahtarları alır.

GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
GetValueList()

Bir SortedList nesnedeki değerleri alır.

IndexOfKey(Object)

Bir SortedList nesnede belirtilen anahtarın sıfır tabanlı dizinini döndürür.

IndexOfValue(Object)

Bir SortedList nesnede belirtilen değerin ilk oluşumunun sıfır tabanlı dizinini döndürür.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
Remove(Object)

Belirtilen anahtara sahip öğeyi bir SortedList nesneden kaldırır.

RemoveAt(Int32)

Bir SortedList nesnenin belirtilen dizinindeki öğesini kaldırır.

SetByIndex(Int32, Object)

Nesnedeki belirli bir dizindeki SortedList değerin yerini alır.

Synchronized(SortedList)

Bir nesne için eşitlenmiş (iş parçacığı güvenli) sarmalayıcı SortedList döndürür.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
TrimToSize()

Kapasiteyi bir SortedList nesnedeki gerçek öğe sayısına ayarlar.

Belirtik Arabirim Kullanımları

Name Description
IEnumerable.GetEnumerator()

aracılığıyla SortedListyineleyen bir IEnumerator döndürür.

Uzantı Metotları

Name Description
AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

bir IEnumerable öğesine IQueryabledönüştürür.

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe yazar.

OfType<TResult>(IEnumerable)

Belirtilen türe göre bir IEnumerable öğesinin öğelerini filtreler.

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu türün genel statik (Shared Visual Basic'te) üyeleri iş parçacığı güvenlidir. Hiçbir örnek üyesi için iş parçacığı güvenliği garanti edilmez.

Bir SortedList nesne, koleksiyon değiştirilmediği sürece aynı anda birden çok okuyucuyu destekleyebilir. öğesinin iş parçacığı güvenliğini SortedListgaranti etmek için tüm işlemlerin yöntemi tarafından Synchronized(SortedList) döndürülen sarmalayıcı aracılığıyla yapılması gerekir.

Bir koleksiyonda numaralandırma, iş parçacığı açısından güvenli bir yordam değildir. Bir koleksiyon eşitlendiğinde bile, diğer iş parçacıkları yine de koleksiyonu değiştirebilir ve bu da numaralandırıcının bir özel durum oluşturmasına neden olur. Numaralandırma sırasında iş parçacığı güvenliğini garanti etmek için, tüm numaralandırma sırasında koleksiyonu kilitleyebilir veya diğer iş parçacıkları tarafından yapılan değişikliklerden kaynaklanan özel durumları yakalayabilirsiniz.

Ayrıca bkz.