Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

SortedList (Clase)

Representa una colección de pares de clave y valor ordenados por claves a los que se puede tener acceso por clave y por índice.

System.Object
  System.Collections.SortedList

Espacio de nombres:  System.Collections
Ensamblado:  mscorlib (en mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class SortedList : IDictionary, ICollection, 
	IEnumerable, ICloneable

El tipo SortedList expone los siguientes miembros.

  Nombre Descripción
Método público Compatible con XNA Framework SortedList() Inicializa una nueva instancia de la clase SortedList que está vacía, tiene la capacidad inicial predeterminada y está ordenada en función de la interfaz IComparable implementada por cada clave agregada al objeto SortedList.
Método público Compatible con XNA Framework SortedList(IComparer) Inicializa una nueva instancia de la clase SortedList que está vacía, tiene la capacidad inicial predeterminada y está ordenada de acuerdo con la interfaz IComparer especificada.
Método público Compatible con XNA Framework SortedList(IDictionary) Inicializa una nueva instancia de la clase SortedList que contiene elementos copiados del diccionario especificado, tiene la misma capacidad inicial que el número de elementos copiados y se ordena de acuerdo con la interfaz IComparable implementada por cada clave.
Método público Compatible con XNA Framework SortedList(Int32) Inicializa una nueva instancia de la clase SortedList que está vacía, tiene la capacidad inicial especificada y está ordenada en función de la interfaz IComparable implementada por cada clave agregada al objeto SortedList.
Método público Compatible con XNA Framework SortedList(IComparer, Int32) Inicializa una nueva instancia de la clase SortedList que está vacía, tiene la capacidad inicial especificada y está ordenada de acuerdo con la interfaz IComparer especificada.
Método público Compatible con XNA Framework SortedList(IDictionary, IComparer) Inicializa una nueva instancia de la clase SortedList que contiene elementos copiados del diccionario especificado, tiene la misma capacidad inicial que el número de elementos copiados y se ordena de acuerdo con la interfaz IComparer especificada.
Arriba
  Nombre Descripción
Propiedad pública Compatible con XNA Framework Capacity Obtiene o establece la capacidad de un objeto SortedList.
Propiedad pública Compatible con XNA Framework Count Obtiene el número de elementos incluidos en un objeto SortedList.
Propiedad pública Compatible con XNA Framework IsFixedSize Obtiene un valor que indica si un objeto SortedList tiene un tamaño fijo.
Propiedad pública Compatible con XNA Framework IsReadOnly Obtiene un valor que indica si un objeto SortedList es de sólo lectura.
Propiedad pública Compatible con XNA Framework IsSynchronized Obtiene un valor que indica si el acceso a un objeto SortedList está sincronizado (es seguro para la ejecución de subprocesos).
Propiedad pública Compatible con XNA Framework Item Obtiene y establece el valor asociado a una clave específica de un objeto SortedList.
Propiedad pública Compatible con XNA Framework Keys Obtiene las claves de un objeto SortedList.
Propiedad pública Compatible con XNA Framework SyncRoot Obtiene un objeto que se puede utilizar para sincronizar el acceso a un objeto SortedList.
Propiedad pública Compatible con XNA Framework Values Obtiene los valores de un objeto SortedList.
Arriba
  Nombre Descripción
Método público Compatible con XNA Framework Add Agrega un elemento con la clave y el valor especificados a un objeto SortedList.
Método público Compatible con XNA Framework Clear Quita todos los elementos de un objeto SortedList.
Método público Compatible con XNA Framework Clone Crea una copia superficial de un objeto SortedList.
Método público Compatible con XNA Framework Contains Determina si un objeto SortedList contiene una clave específica.
Método público Compatible con XNA Framework ContainsKey Determina si un objeto SortedList contiene una clave específica.
Método público Compatible con XNA Framework ContainsValue Determina si un objeto SortedList contiene un valor específico.
Método público Compatible con XNA Framework CopyTo Copia los elementos SortedList en un objeto Array unidimensional, empezando en el índice especificado de la matriz.
Método público Compatible con XNA Framework Equals(Object) Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Compatible con XNA Framework Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método público Compatible con XNA Framework GetByIndex Obtiene el valor que se encuentra en el índice especificado de un objeto SortedList.
Método público Compatible con XNA Framework GetEnumerator Devuelve un objeto IDictionaryEnumerator que recorre en iteración un objeto SortedList.
Método público Compatible con XNA Framework GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público Compatible con XNA Framework GetKey Obtiene la clave que se encuentra en el índice especificado de un objeto SortedList.
Método público Compatible con XNA Framework GetKeyList Obtiene las claves de un objeto SortedList.
Método público Compatible con XNA Framework GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público Compatible con XNA Framework GetValueList Obtiene los valores de un objeto SortedList.
Método público Compatible con XNA Framework IndexOfKey Devuelve el índice de base cero de la clave especificada en un objeto SortedList.
Método público Compatible con XNA Framework IndexOfValue Devuelve el índice de base cero de la primera aparición del valor especificado en un objeto SortedList.
Método protegido Compatible con XNA Framework MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público Compatible con XNA Framework Remove Quita el elemento con la clave especificada de un objeto SortedList.
Método público Compatible con XNA Framework RemoveAt Quita el elemento en el índice especificado de un objeto SortedList.
Método público Compatible con XNA Framework SetByIndex Reemplaza el valor de un índice especificado en un objeto SortedList.
Método público Miembro estático Compatible con XNA Framework Synchronized Devuelve un contenedor sincronizado (seguro para la ejecución de subprocesos) para un objeto SortedList.
Método público Compatible con XNA Framework ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Método público Compatible con XNA Framework TrimToSize Establece la capacidad en el número real de elementos de un objeto SortedList.
Arriba
  Nombre Descripción
Método de extensión público AsParallel Habilita la paralelización de una consulta. (Definido por ParallelEnumerable).
Método de extensión público AsQueryable Convierte una interfaz IEnumerable en IQueryable. (Definido por Queryable).
Método de extensión público Compatible con XNA Framework Cast<TResult> Convierte los elementos de IEnumerable en el tipo especificado. (Definido por Enumerable).
Método de extensión público Compatible con XNA Framework OfType<TResult> Filtra los elementos de IEnumerable en función de un tipo especificado. (Definido por Enumerable).
Arriba
  Nombre Descripción
Implementación explícita de interfaces Método privado Compatible con XNA Framework IEnumerable.GetEnumerator Devuelve una interfaz IEnumerator que recorre en iteración SortedList.
Arriba

Para obtener la versión genérica de esta colección, vea System.Collections.Generic.SortedList<TKey, TValue>.

El acceso a un elemento de SortedList se puede obtener por su clave, al igual que con los elementos de una implementación de IDictionary, o por su índice, como con los elementos de una implementación de IList.

Un objeto SortedList mantiene internamente dos matrices para almacenar los elementos de la lista; es decir, una matriz para las claves y otra para los valores asociados. Cada elemento es un par de clave y valor al que se puede obtener acceso como un objeto DictionaryEntry. Una clave no puede ser null, pero un valor sí puede serlo.

La capacidad de un objeto SortedList es el número de elementos que SortedList puede contener. A medida que se agreguen elementos a un objeto SortedList, la capacidad aumentará automáticamente según lo requiera la reasignación. La capacidad se puede disminuir si se llama al método TrimToSize o si se establece explícitamente la propiedad Capacity.

Los elementos de un objeto SortedList se ordenan por claves en función de una implementación determinada de IComparer que se especifica al crear SortedList, o de acuerdo con la implementación de IComparable proporcionada por las propias claves. En cualquier caso, SortedList no permite claves duplicadas.

La secuencia de índices se basa en la secuencia de ordenación. Cuando se agrega un elemento, se inserta en SortedList en el orden correcto y la indización se ajusta en consonancia. Cuando se quita un elemento, la indización también se ajusta en consonancia. Por lo tanto, el índice de un par de clave y valor específico puede cambiar a medida que se agreguen o quiten elementos del objeto SortedList.

Las operaciones de un objeto SortedList suelen ser más lentas que las operaciones de un objeto Hashtable debido a la ordenación. Sin embargo, SortedList ofrece más flexibilidad, ya que permite el acceso a los valores mediante las claves asociadas o mediante los índices.

Se puede obtener acceso a los elementos de esta colección utilizando un índice de tipo entero. Los índices de esta colección están basados en cero.

La instrucción foreach del lenguaje C# (for each en Visual Basic) requiere el tipo de cada elemento de la colección. Como los elementos del objeto SortedList son pares de clave y valor, el tipo del elemento no se corresponde con el tipo de la clave ni con el del valor. En su lugar, el tipo de elemento es DictionaryEntry. Por ejemplo:


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


La instrucción foreach es un contenedor del enumerador, que sólo permite la lectura, pero no la escritura, en la colección.

En el ejemplo de código siguiente se muestra la forma de crear e inicializar un objeto SortedList así como la forma de imprimir sus claves y valores.


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


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Un objeto SortedList puede admitir varios sistemas de lectura a la vez, siempre y cuando no se modifique la colección. Para garantizar la seguridad en la ejecución de los subprocesos de SortedList, todas las operaciones se deben realizar mediante el contenedor devuelto por el método Synchronized.

Enumerar una colección no es intrínsecamente un procedimiento seguro para subprocesos. Incluso cuando una colección está sincronizada, otros subprocesos todavía pueden modificarla, lo que hace que el enumerador produzca una excepción. Para garantizar la seguridad de los subprocesos durante la enumeración, es posible bloquear la colección durante toda la enumeración o detectar las excepciones resultantes de los cambios realizados por otros subprocesos.

¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar