Создание MyQueue. Подскажите на сколько правильный код получился - C#

Узнай цену своей работы

Формулировка задачи:

Создал свой класс MyQueue, реализовал в нем два метода (EnMyQueue и DeMyQueue) записывая все в List<>. Так же создал класс Student, который собственно и записываю в очередь(List). Подскажите на сколько правильно реализован код, и что нужно исправить.
Листинг программы
  1. public class MyQueue
  2. {
  3. private List<Student> _student = new List<Student>();
  4. public void MyEnQueue(string name, string email)
  5. {
  6. _student.Add(new Student(name, email));
  7. Console.WriteLine("\n MyEnQueue Student {0} \t in MyEnQueue, Sent the job to mail ? {1} ", name, email);
  8. Console.Write("\n Content in MyEnQueue\t");
  9. foreach (var VARIABLE in _student)
  10. {
  11. Console.Write(VARIABLE.Name + "," + VARIABLE.SentEmail + " ");
  12. } }
  13. public void MyDeQueue()
  14. {
  15. if (_student.Count > 0)
  16. {
  17. for (int i = 0; i < _student.Count; i++)
  18. {
  19. if (_student[i].SentEmail == "Yes")
  20. {
  21. Console.WriteLine("\n MyDeQueue Student {0} \t got a cup of coffee", _student[i].Name);
  22. _student.RemoveAt(i);
  23. break;
  24. }
  25. else
  26. {
  27. Console.WriteLine("\n MyDeQueue Student {0} \t not got a cup of coffee", _student[i].Name);
  28. _student.RemoveAt(i);
  29. break;
  30. } }
  31. Console.WriteLine();
  32. }
  33. else
  34. {
  35. Console.WriteLine("\n MyQueue empty");
  36. } }}
  37.  
  38. public class Student
  39. {
  40. private string name, sentEmail;
  41. public string Name
  42. {
  43. get { return name; }
  44. set { }
  45. }
  46. public string SentEmail
  47. {
  48. get { return sentEmail; }
  49. set { }
  50. }
  51. public Student(string _name, string _sentEmail)
  52. {
  53. name = _name;
  54. sentEmail = _sentEmail;
  55. }}
  56. class Program
  57. {
  58. static void Main(string[] args)
  59. {
  60. MyQueue myQueue = new MyQueue();
  61. myQueue.MyEnQueue("Ivan", "Yes");
  62. myQueue.MyEnQueue("Gena", "No");
  63. myQueue.MyEnQueue("Galina", "Yes");
  64. myQueue.MyEnQueue("Stepan", "No");
  65. Console.WriteLine("\n \n Sent task the email, got a cup of coffee \n");
  66. myQueue.MyDeQueue();
  67. myQueue.MyDeQueue();
  68. myQueue.MyDeQueue();
  69. myQueue.MyDeQueue();
  70. myQueue.MyDeQueue();
  71. Console.ReadLine();
  72. }
  73. }

Решение задачи: «Создание MyQueue. Подскажите на сколько правильный код получился»

textual
Листинг программы
  1.     public class MyQueue<T>
  2.     {
  3.         private readonly List<T> items = new List<T>();
  4.  
  5.         public void Enqueue(T item)
  6.         {
  7.             items.Add(item);
  8.         }
  9.        
  10.         public T Dequeue()
  11.         {
  12.             var res = items[0];
  13.             items.RemoveAt(0);
  14.             return res;
  15.         }
  16.  
  17.         public int Count{ get { return items.Count; } }
  18.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы