SortedList Sınıf
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.
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.