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

Queue (Clase)

Representa una colección de objetos de tipo primero en entrar, primero en salir.

System.Object
  System.Collections.Queue

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

El tipo Queue expone los siguientes miembros.

  Nombre Descripción
Método público Compatible con XNA Framework 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.
Método público Compatible con XNA Framework 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.
Método público Compatible con XNA Framework 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.
Método público Compatible con XNA Framework 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.
Arriba
  Nombre Descripción
Propiedad pública Compatible con XNA Framework Count Obtiene el número de elementos incluidos en Queue.
Propiedad pública Compatible con XNA Framework IsSynchronized Obtiene un valor que indica si el acceso a Queue está sincronizado (es seguro para la ejecución de subprocesos).
Propiedad pública Compatible con XNA Framework SyncRoot Obtiene un objeto que se puede utilizar para sincronizar el acceso a Queue.
Arriba
  Nombre Descripción
Método público Compatible con XNA Framework Clear Quita todos los objetos de la colección Queue.
Método público Compatible con XNA Framework Clone Crea una copia superficial de la colección Queue.
Método público Compatible con XNA Framework Contains Determina si un elemento se encuentra en la colección Queue.
Método público Compatible con XNA Framework CopyTo Copia los elementos de Queue en un objeto Array unidimensional existente, a partir del índice especificado de la matriz.
Método público Compatible con XNA Framework Dequeue Quita y devuelve el objeto situado al principio de Queue.
Método público Compatible con XNA Framework Enqueue Agrega un objeto al final de Queue.
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 GetEnumerator Devuelve un enumerador que recorre en iteración la colección Queue.
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 GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
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 Peek Devuelve un objeto situado al principio de Queue sin eliminarlo.
Método público Miembro estático Synchronized Devuelve un contenedor de la colección Queue que está sincronizado (es seguro para subprocesos).
Método público Compatible con XNA Framework ToArray Copia los elementos de Queue en una nueva matriz.
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 de elementos real de elementos de Queue.
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

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


.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.

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.

¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar
Clase cola (Queue)
 static void Main(string[] args)
        {
            //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();
        }