What's the difference between an object and a class?
A class is a template that describes how objects created from it will behave and what properties they'll have.
What are the different kinds of conditionals? Give a usage example for each of them.
Zero: Used for a statement that is always true. Can be interchanged with "When". Example: "If I need money I ask my parents." or "When I need money I ask my parents". First: Used for a statement that can be true if the condition is met. Example: "If I win the lottery I will buy a car." Second: Used with a hypothetical condition and a probable result. Example: "If it rained I would get wet." Third: Used for a condition that can no longer be real and a probable result in the past. Example: "If I had won the lottery, I would be rich"
What's the benefit of using Covariance and Contravariance in C#?
Allowing a generic interface to be covariant or contravariant accomplishes two different goals. 1. It hints the implementer and the user of what behavior (intended usage) to expect from a given interface. 2. Gives the compiler precious information on what kind of implicit castings it can do for a certain class hierarchy.