Thanks for the question. I need a back to basics style question now and then to ensure I do have the basics.
A good explanation as well for those that got it wrong without relying on the person understanding the linked MSDN articles (which face it can be confusing to the beginner).
I may not do in depth into the programming yet but it doesn't stop me having a go with every question.
This was one of the few questions I could answer with certainty (excluding humour ones).