How to display the contents of a queue?

1

I say this because I already created the Queue:

    Queue<string> Fila = new Queue<string>();    

But I can not display it,

    string Pedido = (("Cliente:") + Cliente + (Environment.NewLine + "Produto:") + Produto + (Environment.NewLine + "Tamanho:") + Tamanho + (Environment.NewLine + "Quantidade") + Quantidade);
        //Adiciona o pedido a memória

The other variables above are like this:

    Cliente = Console.ReadLine(); //Insere na memória o que foi digitado pelo usuário.

In my attempt to view the contents of the Queue,

    if (resp == "S") //se a resposta for sim, exibe mensagem de sucesso e pergunta se deseja adicionar outro pedido
        {
            Fila.Enqueue(Pedido);
            Console.Write("Pedido Registrado! Deseja adicionar outro pedido? (S/N)");
            resp = Console.ReadLine();
            if (resp == "S")
            {
                Pedido = "";
                if (resp == "Verificar Fila")
                {
                    Console.Write("Fila: " + Fila);
                }

            }

What is displayed is:

    Fila.Collections.Generic.Queue'1[System.String]
    
asked by anonymous 29.05.2015 / 04:22

2 answers

2

If you want a more compact mode:

Console.WriteLine(String.Join(Environment.NewLine, fila));

The static method String.Join joins the items in a collection with a character (in this case line break).

See running here .

    
29.05.2015 / 05:09
1

How to Queue implements IEnumerable , you can iterate all elements with foreach :

Queue<string> fila = new Queue<string>();

fila.Enqueue("Teste 1");
fila.Enqueue("Teste 2");
fila.Enqueue("Teste 3");

foreach(string pedido in fila) {
    Console.WriteLine(pedido);
}

link

    
29.05.2015 / 04:34