#c# #queue
Вопрос:
Мои операции с очередями в программе, управляемой с помощью меню C#, за исключением постановки в очередь, не работают. И если я снова встану в очередь, в текущем статусе очереди отобразится только вновь введенное значение без ранее поставленного в очередь значения. А другие операции прямо-таки не работают. Пожалуйста, помогите.
Вот мой текущий код.
using System;
using System.Collections;
using System.Collections.Generic;
namespace Collections{
class Program{
public static void menu(){
Console.WriteLine("Menu:");
Console.WriteLine("Enqueue (E)");
Console.WriteLine("Dequeue (D)");
Console.WriteLine("Peek (P)");
Console.WriteLine("Show (S)");
Console.WriteLine("Exit (X)");
}
public static void display(){
string b;
int val;
string a;
Queue q = new Queue();
a = Console.ReadLine();
switch (a)
{
case "E":
{
Console.WriteLine("Enter the value to be Enqueued:");
b = Console.ReadLine();
val = Convert.ToInt32(b);
q.Enqueue(val);
Console.WriteLine("The current queue is:");
foreach (object i in q)
{
Console.WriteLine(i " ");
}
menu();
break;
}
case "D":
{
q.Dequeue();
break;
}
case "P":
{
q.Peek();
break;
}
case "S":
{
foreach (object i in q)
{
Console.WriteLine(i " ");
}
break;
}
}
display();
}
public static void Main(string[] args)
{
string b;
int val;
string a;
Queue q = new Queue();
menu();
display();
}
}
}
Комментарии:
1. Возможно, вам захочется проследить за простым вводным уроком по c#. Вам нужно понять разницу между глобальными и локальными переменными и то, как они работают. Что касается того, что происходит в вашем коде, вы сбрасываете свою очередь.