Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

SortedList-Klasse

 

Veröffentlicht: Oktober 2016

Stellt eine Auflistung von Schlüssel-Wert-Paaren dar, die nach Schlüsseln sortiert sind und auf die sowohl über Schlüssel als auch über Indizes zugegriffen werden kann.

Namespace:   System.Collections
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Collections.SortedList

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class SortedList : IDictionary, ICollection, IEnumerable, 
	ICloneable

NameBeschreibung
System_CAPS_pubmethodSortedList()

Initialisiert eine neue, leere Instanz der SortedList-Klasse, die über die anfängliche Standardkapazität verfügt und entsprechend der IComparable-Schnittstelle sortiert wird, die von jedem zum SortedList-Objekt hinzugefügten Schlüssel implementiert wird.

System_CAPS_pubmethodSortedList(IComparer)

Initialisiert eine neue, leere Instanz der SortedList-Klasse, die über die anfängliche Standardkapazität verfügt und entsprechend der angegebenen IComparer-Schnittstelle sortiert wird.

System_CAPS_pubmethodSortedList(IComparer, Int32)

Initialisiert eine neue, leere Instanz der SortedList-Klasse, die über die angegebene anfängliche Kapazität verfügt und entsprechend der angegebenen IComparer-Schnittstelle sortiert wird.

System_CAPS_pubmethodSortedList(IDictionary)

Initialisiert eine neue Instanz der SortedList-Klasse mit Elementen, die aus dem angegebenen Wörterbuch kopiert werden. Die anfängliche Kapazität entspricht der Anzahl der kopierten Elemente, und die Sortierung erfolgt entsprechend der IComparable-Schnittstelle, die von den einzelnen Schlüsseln implementiert wird.

System_CAPS_pubmethodSortedList(IDictionary, IComparer)

Initialisiert eine neue Instanz der SortedList-Klasse, die aus dem angegebenen Wörterbuch kopierte Elemente enthält. Die anfängliche Kapazität entspricht der Anzahl der kopierten Elemente, und die Sortierung erfolgt nach der angegebenen IComparer-Schnittstelle.

System_CAPS_pubmethodSortedList(Int32)

Initialisiert eine neue, leere Instanz der SortedList-Klasse, die über die angegebene anfängliche Standardkapazität verfügt und entsprechend der IComparable-Schnittstelle sortiert wird, die von jedem zum SortedList-Objekt hinzugefügten Schlüssel implementiert wird.

NameBeschreibung
System_CAPS_pubpropertyCapacity

Ruft die Kapazität eines SortedList-Objekts ab oder legt diese fest.

System_CAPS_pubpropertyCount

Ruft die Anzahl der Elemente ab, die in einem SortedList-Objekt enthalten sind.

System_CAPS_pubpropertyIsFixedSize

Ruft einen Wert ab, der angibt, ob ein SortedList-Objekt eine feste Größe hat.

System_CAPS_pubpropertyIsReadOnly

Ruft einen Wert ab, der angibt, ob ein SortedList-Objekt schreibgeschützt ist.

System_CAPS_pubpropertyIsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf ein SortedList-Objekt synchronisiert (threadsicher) ist.

System_CAPS_pubpropertyItem[Object]

Ruft den Wert ab, der einem bestimmten Schlüssel in einem SortedList-Objekt zugeordnet ist, oder legt diesen fest.

System_CAPS_pubpropertyKeys

Ruft die Schlüssel in einem SortedList-Objekt ab.

System_CAPS_pubpropertySyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf ein SortedList-Objekt synchronisiert werden kann.

System_CAPS_pubpropertyValues

Ruft die Werte in einem SortedList-Objekt ab.

NameBeschreibung
System_CAPS_pubmethodAdd(Object, Object)

Fügt einem SortedList-Objekt ein Element mit dem angegebenen Schlüssel und Wert hinzu.

System_CAPS_pubmethodClear()

Entfernt alle Elemente aus einem SortedList-Objekt.

System_CAPS_pubmethodClone()

Erstellt eine flache Kopie eines SortedList-Objekts.

System_CAPS_pubmethodContains(Object)

Ermittelt, ob ein SortedList-Objekt einen bestimmten Schlüssel enthält.

System_CAPS_pubmethodContainsKey(Object)

Ermittelt, ob ein SortedList-Objekt einen bestimmten Schlüssel enthält.

System_CAPS_pubmethodContainsValue(Object)

Ermittelt, ob ein SortedList-Objekt einen bestimmten Wert enthält.

System_CAPS_pubmethodCopyTo(Array, Int32)

Kopiert SortedList-Elemente in ein eindimensionales Array-Objekt, beginnend mit dem angegebenen Index im Array.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodGetByIndex(Int32)

Ruft den Wert am angegebenen Index in einem SortedList-Objekt ab.

System_CAPS_pubmethodGetEnumerator()

Gibt ein IDictionaryEnumerator-Objekt zurück, das ein SortedList-Objekt durchläuft.

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetKey(Int32)

Ruft den Schlüssel am angegebenen Index in einem SortedList-Objekt ab.

System_CAPS_pubmethodGetKeyList()

Ruft die Schlüssel in einem SortedList-Objekt ab.

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodGetValueList()

Ruft die Werte in einem SortedList-Objekt ab.

System_CAPS_pubmethodIndexOfKey(Object)

Gibt den nullbasierten Index des angegebenen Schlüssels in einem SortedList-Objekt zurück.

System_CAPS_pubmethodIndexOfValue(Object)

Gibt den nullbasierten Index des ersten Vorkommens des angegebenen Werts in einem SortedList-Objekt zurück.

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodRemove(Object)

Entfernt das Element mit dem angegebenen Schlüssel aus einem SortedList-Objekt.

System_CAPS_pubmethodRemoveAt(Int32)

Entfernt das Element am angegebenen Index aus einem SortedList-Objekt.

System_CAPS_pubmethodSetByIndex(Int32, Object)

Ersetzt den Wert an einem bestimmten Index in einem SortedList-Objekt.

System_CAPS_pubmethodSystem_CAPS_staticSynchronized(SortedList)

Gibt einen synchronisierten (threadsicheren) Wrapper für ein SortedList-Objekt zurück.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

System_CAPS_pubmethodTrimToSize()

Legt die Kapazität auf die tatsächliche Anzahl der in einem SortedList-Objekt enthaltenen Elemente fest.

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable.GetEnumerator()

Gibt einen IEnumerator zurück, der SortedList durchläuft.

NameBeschreibung
System_CAPS_pubmethodAsParallel()

Überladen. Ermöglicht die Parallelisierung einer Abfrage.(Definiert durch ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Überladen. Konvertiert ein IEnumerable zu einer IQueryable.(Definiert durch Queryable.)

System_CAPS_pubmethodCast<TResult>()

Wandelt die Elemente einer IEnumerable in den angegebenen Typ.(Definiert durch Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtert die Elemente einer IEnumerable auf Grundlage eines angegebenen Typs.(Definiert durch Enumerable.)

Die generische Version dieser Auflistung finden Sie unter System.Collections.Generic.SortedList<TKey, TValue>.

Ein SortedList Element über seinen Schlüssel, wie ein Element in einer beliebigen möglich IDictionary Implementierung, oder über dessen Index, wie bei einem Element in einer beliebigen IList Implementierung.

Ein SortedList Objekt verwaltet intern zwei Arrays zum Speichern der Elemente von der Liste, d. h. ein Array für die Schlüssel und ein anderes Array für die zugehörigen Werte. Jedes Element ist ein Schlüssel-Wert-Paar, das als zugegriffen werden kann ein DictionaryEntry Objekt. Ein Schlüssel kann nicht null sein, ein Wert dagegen schon.

Die Kapazität einer SortedList Objekt ist die Anzahl der Elemente der SortedList aufnehmen kann. Elemente hinzugefügt werden, um eine SortedList, die Kapazität wird automatisch erhöht je nach Bedarf durch die Neubelegung. Die Kapazität verringert werden kann, durch Aufrufen von TrimToSize oder durch Festlegen der Capacity Eigenschaft explizit.

Für sehr große SortedList Objekte, können Sie die maximale Kapazität 2 Milliarden Elementen auf einem 64-Bit-System erhöhen, indem das enabled -Attribut des Konfigurationselements an true in der Umgebung zur Laufzeit.

Die Elemente ein SortedList Objekt nach den Schlüsseln sortiert sind entweder entsprechend einer bestimmten IComparer Implementierung angegeben, wenn die SortedList erstellt oder entsprechend der IComparable Implementierung, die die Schlüssel selbst. In beiden Fällen eine SortedList lässt keine doppelten Schlüssel.

Die Indexreihenfolge beruht auf der Sortierreihenfolge. Wenn ein Element hinzugefügt wird, wird es in eingefügt SortedList in die richtige Sortierung Reihenfolge und der Index entsprechend angepasst. Wenn ein Element entfernt wird, die Indizierung auch entsprechend angepasst. Daher kann der Index eines bestimmten Schlüssel-Wert-Paares ändern, wenn Elemente hinzugefügt oder daraus entfernt werden die SortedList Objekt.

Vorgänge für ein SortedList Objekt werden meist langsamer ausgeführt als Operationen auf einem Hashtable Objekt aufgrund der Sortierung. Allerdings die SortedList bietet mehr Flexibilität ermöglicht den Zugriff auf die Werte durch den zugehörigen Schlüsseln oder Indizes.

Elemente in dieser Auflistung können über einen Ganzzahlenindex zugegriffen werden. In dieser Auflistung Indizes sind nullbasiert.

Die foreach -Anweisung der Programmiersprache c# (for each in Visual Basic) gibt ein Objekt des Typs der Elemente in der Auflistung zurück. Da jedes Element von der SortedList Objekt ist ein Schlüssel/Wert-Paar, der Elementtyp nicht der Typ des Schlüssels oder des Werts. Der Elementtyp, ist DictionaryEntry. Zum Beispiel:

foreach (DictionaryEntry de in mySortedList)
{
    //...
}

Die foreach -Anweisung ist ein Wrapper um den Enumerator, der nur das Lesen aus nicht das Schreiben in die Auflistung zulässt.

Im folgenden Codebeispiel wird veranschaulicht, wie erstellen und Initialisieren einer SortedList Objekt und wie die entsprechenden Schlüssel und Werte ausgegeben.

using System;
using System.Collections;
public class SamplesSortedList  {

   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:    !
*/

Universelle Windows-Plattform
Verfügbar seit 10
.NET Framework
Verfügbar seit 1.1

Öffentliche statische (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Ein SortedList Objekt gleichzeitige Unterstützung für mehrere Reader, solange die Auflistung nicht geändert wird. Um die Threadsicherheit der SortedList, müssen alle Operationen über den Wrapper zurückgegebene ausgeführt werden die Synchronized Methode.

Die Enumeration einer Auflistung ist systemintern keine threadsichere Prozedur. Selbst wenn eine Auflistung synchronisiert wird, besteht die Möglichkeit, dass andere Threads sie ändern. Dies führt dazu, dass der Enumerator eine Ausnahme auslöst. Um während der Enumeration Threadsicherheit zu gewährleisten, können Sie entweder die Auflistung während der gesamten Enumeration sperren oder die Ausnahmen, die aus von anderen Threads stammenden Änderungen resultieren, abfangen.

Zurück zum Anfang
Anzeigen: