TABLE OF CONTENTS ![]() |
| Visual Studio 2008 and C# 3.0 |
This section of the Visual Studio 2008 Learning Guide looks at the new and improved features of C# 3.0. As previous sections indicated, the introduction of LINQ had a lot to do with how the language changed. After reading this section, you can read about multi-targeting, the Visual Studio 2008 feature that lets developers and architects use VS 2008, and all its new features, to build applications for .NET 2.0 and .NET 3.0.
C# 3.0 language
specifications (MSDN)
This Word document, the first link on the page, provides an exhaustive list of C# 3.0's language
specifications.
Visual Studio 2008
Programmer's Guide: C# 3.0 (MSDN)
This serves as a landing page for Microsoft's reference material for C# 3.0 programmers. (Note: The
headline may say C# 2.0, but, rest assured, the resources are for the newest version of the
language.)
An introduction
to C# 3.0 (Tim Rayburn)
This blogger, a BizTalk Server MVP, had given his "Introduction to C#" talk to numerous user groups
throughout the south central United States and then decided it was high time he recorded it fot all
to see.
C# 3.0
language enhancements (Mike Hanley)
This blogger looks at seven language enhancements, four of which demonstrate an improvement over
how things are done in C# 2.0 and three of which -- query expressions, anonymous types and lambda
expressions -- are new to C# 3.0.
Book: Programming C# 3.0, Fifth
Edition (O'Reilly Media)
Aimed at beginner and intermediate programmers, this title discusses base class libraries and walks
readers through the processes of creating Windows and Web applications.
Book: C# in a Nutshell, Third
Edition (O'Reilly Media)
This title covers language syntax, base class libraries and other key features of C# 3.0. Its
chapters are organized around use cases, making themes easier to follow.
*** These articles look at individual C# 3.0 features.
New
C# 3.0 language features: Automatic Properties, Object Initializers and Collection Initializers
(Scott Guthrie)
Here Guthrie introduces these three new C# 3.0 features. Each takes advantage of a more powerful
compiler to reduce the lines of code a programmer must type.
On
Extension Methods in C# and .NET Framework 3.5 (SearchWinDevelopment.com)
Blogger Alex Hoffman's "Adventures in .NET 3.5" offers quite a bit of advice for the C# architect
on working with Extensions Methods.
Implicitly
typed variables in C# 3.0 (Programmer's Heaven)
As this blogger puts it, C# programmers are not declaring a variable of type "var" (which wouldn't
mean much. "Actually," he said, "'var' is not a type, but rather a new keyword that means, 'I want
to declare a variable, but I'm too lazy to write out its type.'" Essentially, the compiler will
figure out the type for you.
C#
3.0 Partial Methods: What, why and how? (Bart de Smet)
Introduced with VS 2008 Beta 2, partial methods allow classes to be extended when the method is
implemented. Since even this blogger admits that the concept is vague, a detailed explanation
follows.
C# 3.0: Are
Object Initializers evil, useful or both?(Kevin Hoffman)
Thanks to object initializers, a class can be instantiated and, then, "practically in the same
breath," public properties or fields can also be initialized and assigned new values. It's a
powerful feature, but this blogger says he is afraid that neophyte programmers may "run with it and
completely abuse it."
Extension
Methods in C# 3.0 + fluent interface = Ruby-like syntax (Troy DeMonbreun)
For this developer, extension methods are elegant enough to give Ruby date syntax "a good run for
its money."
C# 3.0 Lambda
Expressions replacing anonymous methods (Steve Michelotti)
Anonymous methods syntax could sometimes be confusing, this blogger notes, as it could involve
lining up curly braces and getting delegate signatures right. Lambda expressions in C# 3.0 reduce
this complexity -- and the amount of hard coding that is needed.
*** Go on to the next section of the Visual Studio 2008 Learning Guide: Visual Studio 2008 and Multi-Targeting
This was first published in November 2007
TABLE OF CONTENTS