C# 3.0: A Beginner's Guide