Bad Display Name has not actually helped the author.
He fails to mention the following from the very article he quoted in his comment to me.
Yes, that's to be expected I'm afraid.
  Installing .NET 3.5 doesn't upgrade
  the compilers you get with Visual
  Studio 2005. You have to get VS 2008
  if you want to use the new C# or
  VB.NET syntax. I mentioned this
  absence of compiler support in the
  article.
There is, of course, a distinction
  between sytax that is understood by a
  compiler, and the underlying libraries
  and types that the syntax expolits.
  You still have full access to Linq
  technologies, but you have to write
  code using 'standard' syntax. 
Here is the above code (plus some
  additional code to print out the
  results) written 'long-hand'. This
  compiles in VS 2005. You need to give
  your project a reference to
  System.Core v3.5 and import the
  System.Linq namespace.
int[] numbers = { 5, 4, 1, 3, 9, 8, 6,
  7, 2, 0 };
//var numsPlusOne = from n in numbers
  select n + 1; IEnumerable
  numsPlusOne = Enumerable.Select(numbers, delegate(int n) { return
  n + 1; });
foreach (int nNew in numsPlusOne) {
  Console.WriteLine(nNew); }
OK, my blog is clearly leading to
  misunderstandings, and I need to
  carefully qualify what is going on
  here. People need to make a very clear
  distinction in their minds between
  different things:
a) The .NET Framework The framework is
  chiefly composed of a library of
  pre-written object orientated code
  -i.e., a class library, or perhaps more accurately, a set of libraries.
b) The C# and VB.NET compilers These
  are written as .Net assemblies. The
  new compilers are bundled with the
  framework.
c) The C# and VB.NET editing and
  compilation support provided in Visual
  Studio. Starting with Visual Studio
  2008, Microsoft has enhanced these
  tools so that you can easily target
  different versions of the framework.
  This includes targeting different
  versions of the C# and VB.NET
  compilers. 
Note the following points:
• All .NET 3.5 code complies with the
  standardised definitions for version
  2.0 of the Common Language Runtime. This includes all the code in the
  class libraries, including Linq, and
  even the code in the compiler
  assemblies. Hence, Visual Studio 2005
  can access any public members of any
  public classes anywhere in the
  library, and can even reach protected
  and private members via reflection.
  This is why you can happily exploit
  WCF 3.5 within Visual Studio 2005.
• Visual Studio 2005 predates .NET 3.5
  and therefore its code editing and
  compilation features do not target or
  support the versions of the compilers
  provided with .NET 3.5. Hence, there
  is no support for new syntax supported
  by the latest compilers, which is why
  Chris' code won't compile (it uses the
  new object initializer syntax).
Syntax supported in a compiler is one
  thing. The underlying classes and
  other types exploited by specialised
  syntax such as Linq are something
  different. You don't have the ability
  to use the new Linq syntax in the old
  version of Visual Studio. You do,
  however, have the ability to access
  the underlying class libraries
  directly using 'traditional' syntax.
Having said all this, I could be
  irresponsible and point out that
  Microsoft did release some Linq CTP
  tooling for Visual Studio 2005. This
  is still available at:
http://www.microsoft.com/downloads/details.aspx?familyid=1e902c21-340c-4d13-9f04-70eb5e3dceea&displaylang=en.
It may be possible to use this in
  conjunction with careful changes to
  Microsoft.CSharp.targets referenced in
  the MSBuild script contained in your
  project files in order to convince
  Visual Studio 2005 to support the
  latest syntax and compilers. I
  wouldn't recommend this, as this
  depends on CTP code, which may not
  offer complete support for the syntax
  supported in the release version of
  Visual Studio 2008, and a degree of
  black-belt manipulation of the
  mechanics of Visual Studio. I take no
  responsibility for any problems people
  might encounter if they try to get
  this to work!
In other words the author of the article suggested what amounts to be a hack, the ide will not check your syntax, and you won't be able to implement any C# 3.5 syntax changes within VS05.