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
|
Queue (Clase)
Representa una colección de objetos de tipo primero en entrar, primero en salir.
Ensamblado: mscorlib (en mscorlib.dll)
El tipo Queue expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
Queue() | Inicializa una nueva instancia de la clase Queue que está vacía, tiene la capacidad inicial predeterminada y utiliza el factor de crecimiento predeterminado. |
|
Queue(ICollection) | Inicializa una nueva instancia de la clase Queue que contiene elementos copiados de la colección especificada, tiene la misma capacidad inicial que el número de elementos copiados y utiliza el factor de crecimiento predeterminado. |
|
Queue(Int32) | Inicializa una nueva instancia de la clase Queue que está vacía, tiene la capacidad inicial especificada y utiliza el factor de crecimiento predeterminado. |
|
Queue(Int32, Single) | Inicializa una nueva instancia de la clase Queue que está vacía, tiene la capacidad inicial especificada y utiliza el factor de crecimiento especificado. |
| Nombre | Descripción | |
|---|---|---|
|
Count | Obtiene el número de elementos incluidos en Queue. |
|
IsSynchronized | Obtiene un valor que indica si el acceso a Queue está sincronizado (es seguro para la ejecución de subprocesos). |
|
SyncRoot | Obtiene un objeto que se puede utilizar para sincronizar el acceso a Queue. |
| Nombre | Descripción | |
|---|---|---|
|
Clear | Quita todos los objetos de la colección Queue. |
|
Clone | Crea una copia superficial de la colección Queue. |
|
Contains | Determina si un elemento se encuentra en la colección Queue. |
|
CopyTo | Copia los elementos de Queue en un objeto Array unidimensional existente, a partir del índice especificado de la matriz. |
|
Dequeue | Quita y devuelve el objeto situado al principio de Queue. |
|
Enqueue | Agrega un objeto al final de Queue. |
|
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). |
|
GetEnumerator | Devuelve un enumerador que recorre en iteración la colección Queue. |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
Peek | Devuelve un objeto situado al principio de Queue sin eliminarlo. |
|
Synchronized | Devuelve un contenedor de la colección Queue que está sincronizado (es seguro para subprocesos). |
|
ToArray | Copia los elementos de Queue en una nueva matriz. |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
|
TrimToSize | Establece la capacidad en el número de elementos real de elementos de Queue. |
| 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). |
Las colas son útiles para almacenar mensajes en el orden en el que fueron recibidos para el procesamiento secuencial. Esta clase implementa una cola como una matriz circular. Los objetos almacenados en Queue se insertan en un extremo y se quitan del otro.
La capacidad de Queue es el número de elementos que Queue puede contener. A medida que se agregan elementos a Queue, la capacidad aumenta automáticamente según lo requiera la reasignación. La capacidad se puede disminuir si se llama al método TrimToSize.
El factor de crecimiento es el número por el cual se multiplica la capacidad actual cuando se requiere una capacidad mayor. El factor de crecimiento se determina cuando se crea Queue. El factor de crecimiento predeterminado es 2,0. La capacidad de Queue siempre aumentará su capacidad en cuatro, como mínimo, con independencia del factor de crecimiento. Por ejemplo, un objeto Queue con un factor de crecimiento igual a 1,0 siempre aumentará su capacidad en cuatro cuando se requiera una capacidad mayor.
La clase Queue acepta null como valor válido y permite elementos duplicados.
Para obtener la versión genérica de esta colección, vea System.Collections.Generic.Queue<T>.
En el ejemplo siguiente se muestra cómo crear y agregar valores a Queue y cómo imprimirlos.
using System; using System.Collections; public class SamplesQueue { public static void Main() { // Creates and initializes a new Queue. Queue myQ = new Queue(); myQ.Enqueue("Hello"); myQ.Enqueue("World"); myQ.Enqueue("!"); // Displays the properties and values of the Queue. Console.WriteLine( "myQ" ); Console.WriteLine( "\tCount: {0}", myQ.Count ); Console.Write( "\tValues:" ); PrintValues( myQ ); } public static void PrintValues( IEnumerable myCollection ) { foreach ( Object obj in myCollection ) Console.Write( " {0}", obj ); Console.WriteLine(); } } /* This code produces the following output. myQ Count: 3 Values: Hello World ! */
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.
Para garantizar la seguridad en la ejecución de los subprocesos de Queue, 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.
{
//Escribir un programa que introduzca 5 números en una cola de enteros para, a continuación, realizar las siguientes operaciones:
Queue cola = new Queue();
cola.Enqueue(1);
cola.Enqueue(2);
cola.Enqueue(3);
cola.Enqueue(4);
cola.Enqueue(5);
//1. Mostrar la cola en consola
Array temp = cola.ToArray();
foreach (int i in temp)
{
Console.WriteLine(i);
}
//2. Mostrar el primer elemento de la cola sin extraerlo
Console.WriteLine("//2. Mostrar el primer elemento de la cola sin extraerlo");
Console.WriteLine(cola.Peek());
//3. Extraer los dos primeros elementos de la cola
Console.WriteLine("Primer elemento extraido :{0}", cola.Dequeue());
Console.WriteLine("Segundo elemento extraido :{0}", cola.Dequeue());
Console.ReadKey();
}
- 24/05/2012
- ponchi_89