SYSK 172: C# 3.0 is Not Part of .NET 3.0

.NET 3.0 will be released with Vista.  It will not contain C# 3.0, but will ship with C# 2.0.

 

The major features of .NET 3.0 are: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), and Windows CardSpace (WCS, formerly “InfoCard”).

 

Visual C# 3.0 will be released as a part of the next Visual Studio release.

C# 3.0 will include features like:

  • Implicitly typed local variables using var keyword, e.g. var i = 5; would be equivalent to int i = 5; and var numbers = new int [] {1, 2, 3}; is equivalent to int[] numbers = new int [] {1, 2, 3};
  • Extension methods – static methods that can be invoked using instance method syntax (VB.NET developers have enjoyed having this feature for some time now, albeit with a compile time warning)
  • So called “lambda expressions” -- anonymous methods, which allow code blocks to be written “in-line” where delegate values are expected
  • Type inference – attempt to deduce argument type when one is not specified during a call to a generic method
  • Object initializers -- property setting during object construction, e.g.

Point p = new Point{X=0, Y=1};

  • LINQ (language integrated query)
  • Etc.

For complete feature list and examples, please visit http://download.microsoft.com/download/5/8/6/5868081c-68aa-40de-9a45-a3803d8134b8/CSharp_3.0_Specification.doc