I was surprised at how much the additions to C# 3.0 have changed (and improved) the C# language. Yes, C# 3.0 is backward-compatible, so older C# programs will still work, but using LINQ and the other ...