Exercise: Design a Stack
Questions:


Why do you use the class field _object? Does it serve any real purpose that a method-local variable cannot?
Why do you implement IEnumerable?
(only consider this if you have a decent understanding of concurrency issues, and want to practice) How can you make this code thread-safe?


Suggestions:


Several method throw exceptions in unexceptionable scenarios. Why do you blow up if I want to print or clear an empty stack? That's like having the waiter shoot herself if I try to order food right as the kitchen has closed.
When you're done with the exercise, consider making your stack generic. Casting from object is so old-school C#.
Consider improving your error messages. For one, "Cannot use .Pop() if list count equals 0." could be something like: "Cannot pop an element off an empty stack".