/// <summary> /// Push the items from a stack onto a stack. /// </summary> /// <param name="Stack"></param> public void Push(ExStack <T> Stack) { // reverse the incoming stack Stack.Reverse(); // pop the incoming stack and push on to this stack for (int i = 0; i < Stack.Count; i++) { Push(Stack.Pop()); } }
/// <summary> /// Pops the items from the stack and places them in their own stack /// </summary> /// <param name="PopCount"></param> /// <returns></returns> public ExStack <T> PopStack(int PopCount) { // create a new stack ExStack <T> stack = new ExStack <T>(PopCount); for (int i = 0; i < PopCount; i++) { stack.Push(this.Pop()); } stack.Reverse(); return(stack); }