/// <summary> /// add the new object in queue. /// </summary> /// <param name="NewItem"></param> public void PushItem(QueueItem NewItem) { //if (items.Contains(NewItem)) // return; // OnAddMessages?.Invoke(this, 1); switch (QueueMode) { case QueueModes.Queue: items.AddLast(NewItem); break; case QueueModes.Stack: items.AddFirst(NewItem); break; } lastPushedId = NewItem.IdNum; OnAddMessages?.Invoke(this, 1); }
/// <summary> /// add the new object in queue. /// </summary> /// <param name="newItems"></param> public void PushItem(List <QueueItem> newItems) { //LinkedList<QueueItem> ListOfObjects = new LinkedList<YourObjectType>(YourObjectArray); //if (items.Contains(NewItem)) // return; switch (QueueMode) { case QueueModes.Queue: foreach (var line in newItems) { items.AddLast(line); } break; case QueueModes.Stack: foreach (var line in newItems) { items.AddFirst(line); } break; } OnAddMessages?.Invoke(this, newItems.Count); }