using static System.Console; using System.Collections.Generic; public class Program { public static void Main() { WriteLine(""); var minhaPilha = new Stack(); minhaPilha.Push("Primeira"); minhaPilha.Push("Segunda"); minhaPilha.Push("Terceira"); minhaPilha.Push("Quarta"); WriteLine("Para add itens, selecione X"); WriteLine(); WriteLine("Para remover itens, selecione Z"); WriteLine(); WriteLine("Caso queira remover um dado especifico digite W"); var opc = ReadLine(); foreach (var carta in minhaPilha) WriteLine(carta); if (opc == "Z") { WriteLine(); minhaPilha.Pop(); foreach (var carta in minhaPilha) WriteLine(carta); } if (opc == "X") { WriteLine("Digite aqui:"); minhaPilha.Push(ReadLine()); WriteLine(); foreach (var carta in minhaPilha) WriteLine(carta); } if (opc == "W") { WriteLine("Qual elemento:"); var selecionado = ReadLine(); var novaPilha = new Stack(); var totalItens = minhaPilha.Count; for (var i = 0; i < totalItens; i++) { if (minhaPilha.Peek() == selecionado) { minhaPilha.Pop(); break; } else { novaPilha.Push(minhaPilha.Pop()); } } totalItens = novaPilha.Count; for (var i = 0; i < totalItens; i++) minhaPilha.Push(novaPilha.Pop()); foreach (var carta in minhaPilha) WriteLine(carta); } WriteLine(); } } //https://pt.stackoverflow.com/q/84091/101