Defensive Coding Fundamentals for C#