I have an app that I am developing in Visual Studio 2008, but the projects are set to .NET 2.0. The application will run on a box that only has .NET 2.0 installed.
I understand that I can use some of the features of the .NET 3.5 c# compiler and that it compiles my code to MSIL that .NET 2.0 runtime understands.
What are the features of .NET 3.5 that I can use in my .NET 2.0 app?
Edit: what I have in mind is Extension Methods, Linq, lambdas, object initializers, collection initializers and other compiler candy.