private static void Main(string[] args) { string input = string.Empty; CustomStack <int> myStack = new CustomStack <int>(); while ((input = Console.ReadLine()) != "END") { List <string> tokens = input.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(); string command = tokens[0]; int[] numbers = tokens.Skip(1).Select(int.Parse).ToArray(); try { switch (command) { case "Push": foreach (var num in numbers) { myStack.Push(num); } break; case "Pop": myStack.Pop(); break; default: break; } } catch (InvalidOperationException e) { Console.WriteLine(e.Message); } } if (myStack.Any()) { for (int i = 0; i < 2; i++) { Console.WriteLine(string.Join(Environment.NewLine, myStack)); } } }
public static void Main() { var myStack = new CustomStack<int>(); string input; while ((input = Console.ReadLine()) != "END") { string[] tokens = input.Split(", ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); string command = tokens[0]; if (command == "Push") { var numbers = tokens.Skip(1).Select(int.Parse).ToList(); foreach (var n in numbers) { myStack.Push(n); } } else { try { myStack.Pop(); } catch (ArgumentException ae) { Console.WriteLine(ae.Message); } } } if (myStack.Any()) { Console.WriteLine(string.Join(Environment.NewLine, myStack)); Console.WriteLine(string.Join(Environment.NewLine, myStack)); } }