Ferdeen
Ferdeen

Reputation: 21832

Developers who have experience of .NET 3.0 or greater, what features would you recommend to look at first?

There are quite a few features a .NET developer needs to brush up on to get up to speed.

I am still on 2.0, probably becuase of the industry I work in, where Banks tend to hold back on using bleeding edge technologies (in my experience).

Developers who have experience of .NET 3.0 or greater, what features (both language and frameworks) would you recommend to look at first ?

Upvotes: 3

Views: 337

Answers (13)

Charlie Flowers
Charlie Flowers

Reputation: 17457

There are 4 new language features that are particularly important. The language is the foundation of everything you can (and can't) do as a developer, and therefore understanding these 4 important new language features is very important.

The 4 features I'm talking about are:

  1. Extension methods
  2. Lambda expressions
  3. Implicitly typed local variables
  4. Anonymous types

(Note: There are other new language features as well, and they're important of course. But these 4 are the foundational ones I would start with).

Now, it just so happens that LINQ is based mostly on these 4 features. But don't let that throw you off course. If you really want to master C# 3.0, you need to understand each of these language features deeply, apart from their usage in Linq.

Once you've done that, you're in a fantastic position to do 2 things:

  1. Utilize C# 3.0 to write some powerful code
  2. Actually understand Linq.

Enjoy it! C# 3.0 is a beautiful thing.

Upvotes: 0

Richard
Richard

Reputation: 109200

Windows Workflow Foundation (WF)

Particularly if you have long running processes which the business like to change.

(One caveat, it is getting a major revamp with .NET 4, but with backwards compatibility.)

Upvotes: 0

Pat
Pat

Reputation: 5282

-Object and Collection Initializers
-Implicit variables
-Auto properties (LOVE EM!!)

Upvotes: 0

CraigTP
CraigTP

Reputation: 44949

If you're primarily doing "graphical" things, WPF is probably the best thing to focus on. And don't forget it's "little brother" Silverlight, if you're doing web-based development.

If you've previously done things with .NET Remoting or Web Services, then WCF is definitely the way to go for the future.

If you're doing database type applications, then LINQ (and specifically LINQtoSQL) is what you'll be after. Be careful with the LINQtoSQL, though, could well be replaced with LINQtoENTITIES in the future (as part of the Entity Framework).

Note that LINQ is a much broader technology, though, and can be applied to XML, Objects, in fact, you could write your own provider to allow a LINQ-to-anything if you want! (The authors of the excellent book, Linq In Action write a LINQ-to-Amazon in it, for example).

As a broad technology, LINQ is made possible by other underlying technological improvements like Extension Methods and Lambda Expressions, so if you want to really delve into LINQ, you can learn these, too! This in turn leads onto things like Expression Trees for when you want to really know what's going on "under the covers".

Overall, I'd say LINQ is the best thing to focus on. It's got many multiple uses (i.e. Not focused on one or two specific "areas" of development), is built upon a whole bunch of other technological improvements in the .NET languages, and moreover, will probably be built upon even more in the future (i.e. Lambda expressions are the start of introducing more of a "functional" language into C#!)

Upvotes: 1

Tim Lentine
Tim Lentine

Reputation: 7862

Lambda Expressions, Extension Methods and Object / Collection Initializers.

Upvotes: 0

Tamas Czinege
Tamas Czinege

Reputation: 121444

Check out C# auto properties - much simpler concept than LINQ or lambda expressions but will save you a lot of time and hassle!

Upvotes: 4

Jon Skeet
Jon Skeet

Reputation: 1504122

From C# 3.0: partial methods. They're the single most important feature to grace a programming language, ever.

Nah, I'm kidding: lambda expressions and LINQ will change the way you look at coding. They'll also make you miss them greatly when you have to code for a platform which doesn't have them :(

Upvotes: 2

Dave Swersky
Dave Swersky

Reputation: 34820

LINQ is nifty. The thing to understand about LINQ is that it's not just about databases, it's a collection-querying capability that has ORM bolted onto it with LINQ to SQL and LINQ to Entities.

WPF is interesting.

Object initializers make life SO easy...

MyObject foo = new MyObject() {prop1="foo",prop2="bar"}

Upvotes: 1

Arjan Einbu
Arjan Einbu

Reputation: 13692

Depends on your needs, but I' d say Lambdas and LINQ is very interesting.

A special mention of LINQ-to-objects and LINQ-to-XML, because they show you have query capabilities also outside the DB.

I also think WPF is really cool, and WCF makes interprocess comunication a lot easier.

Upvotes: 4

Marc Gravell
Marc Gravell

Reputation: 1064254

In 3.0, WCF is probably the most versatile for general usage.

WPF is fine, but is windows/UI specific.

In 3.5, LINQ all the way ;-

Upvotes: 5

JaredPar
JaredPar

Reputation: 755587

IMHO, the most impactful feature is LINQ and lambda expressions

Upvotes: 12

AnthonyWJones
AnthonyWJones

Reputation: 189555

LINQ, LINQ and oh yeah LINQ

Upvotes: 1

Andrew Hare
Andrew Hare

Reputation: 351758

First and foremost: LINQ

Upvotes: 1

Related Questions