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
|
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.
Ensamblado: mscorlib (en mscorlib.dll)
El tipo SortedList expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
| Nombre | Descripción | |
|---|---|---|
|
Capacity | Obtiene o establece la capacidad de un objeto SortedList. |
|
Count | Obtiene el número de elementos incluidos en un objeto SortedList. |
|
IsFixedSize | Obtiene un valor que indica si un objeto SortedList tiene un tamaño fijo. |
|
IsReadOnly | Obtiene un valor que indica si un objeto SortedList es de sólo lectura. |
|
IsSynchronized | Obtiene un valor que indica si el acceso a un objeto SortedList está sincronizado (es seguro para la ejecución de subprocesos). |
|
Item | Obtiene y establece el valor asociado a una clave específica de un objeto SortedList. |
|
Keys | Obtiene las claves de un objeto SortedList. |
|
SyncRoot | Obtiene un objeto que se puede utilizar para sincronizar el acceso a un objeto SortedList. |
|
Values | Obtiene los valores de un objeto SortedList. |
| Nombre | Descripción | |
|---|---|---|
|
Add | Agrega un elemento con la clave y el valor especificados a un objeto SortedList. |
|
Clear | Quita todos los elementos de un objeto SortedList. |
|
Clone | Crea una copia superficial de un objeto SortedList. |
|
Contains | Determina si un objeto SortedList contiene una clave específica. |
|
ContainsKey | Determina si un objeto SortedList contiene una clave específica. |
|
ContainsValue | Determina si un objeto SortedList contiene un valor específico. |
|
CopyTo | Copia los elementos SortedList en un objeto Array unidimensional, empezando en el índice especificado de la matriz. |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
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). |
|
GetByIndex | Obtiene el valor que se encuentra en el índice especificado de un objeto SortedList. |
|
GetEnumerator | Devuelve un objeto IDictionaryEnumerator que recorre en iteración un objeto SortedList. |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetKey | Obtiene la clave que se encuentra en el índice especificado de un objeto SortedList. |
|
GetKeyList | Obtiene las claves de un objeto SortedList. |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
GetValueList | Obtiene los valores de un objeto SortedList. |
|
IndexOfKey | Devuelve el índice de base cero de la clave especificada en un objeto SortedList. |
|
IndexOfValue | Devuelve el índice de base cero de la primera aparición del valor especificado en un objeto SortedList. |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
Remove | Quita el elemento con la clave especificada de un objeto SortedList. |
|
RemoveAt | Quita el elemento en el índice especificado de un objeto SortedList. |
|
SetByIndex | Reemplaza el valor de un índice especificado en un objeto SortedList. |
|
Synchronized | Devuelve un contenedor sincronizado (seguro para la ejecución de subprocesos) para un objeto SortedList. |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
|
TrimToSize | Establece la capacidad en el número real de elementos de un objeto SortedList. |
| Nombre | Descripción | |
|---|---|---|
|
AsParallel | Habilita la paralelización de una consulta. (Definido por ParallelEnumerable). |
|
AsQueryable | Convierte una interfaz IEnumerable en IQueryable. (Definido por Queryable). |
|
Cast<TResult> | Convierte los elementos de IEnumerable en el tipo especificado. (Definido por Enumerable). |
|
OfType<TResult> | Filtra los elementos de IEnumerable en función de un tipo especificado. (Definido por Enumerable). |
| Nombre | Descripción | |
|---|---|---|
|
IEnumerable.GetEnumerator | Devuelve una interfaz IEnumerator que recorre en iteración SortedList. |
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:
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: ! */
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.