Черга клас

using System;

using System.Collections.Generic;

using System.Linq;

 

namespace Queue

{

    public class Queue<T>

    {

        private List<T> list = new List<T>();

        public int Count => list.Count; 

        public void Enqueue(T item)

        { 

            list.Add(item);

        }

        public T Dequeue()

        {

            // Взяти елемент з початку черги

            var item = GetItem(); 

            // Видаляємо елемент

            list.Remove(item); 

            return item;

        }

        public T Peek()

        {

            // Беремо елемент з початку черги, але не видаляємо його

            var item = GetItem(); 

            return item;

        }

        private T GetItem()

        {

            // Взяти перший елемент з початку черги

            var item = list.FirstOrDefault();  

            return item;

        }

    }

}