views:

265

answers:

9
+4  Q: 

C# Capabilities?

Hello,

I've searched high and low for a list of the contents of .net 3.0 and 3.5 framework, since i've been programming using old technologies such as hashtables instead of a dictionary(newer technology).

I've been having a bit of a swat up and wondered where I can find a list of all the latest capabilities of C# and the .Net framework so that I can start getting my head round how to use some of the stuff.

Help would be greatly appreciated!

+1  A: 

Have you tried the .Net Framework page at MSDN? The linked page is a good jump-off point for a lot of the new technologies, including Windows Communication Foundation (WCF) and Windows Presentation Foundation (WPF). For detailed info on the base class libraries, this link of that page is a good starting point. You also might want to look through Phil Haack or Scott Guthrie's blogs.

For info on C# - including upcoming features in C#4.0 - the VisualC# page at MSDN is a good place to start.

tvanfosson
+3  A: 

"latest capabilities of C#"...

Implicitly Typed Local Variables:

The compiler derives the type from the initialized value.

// Implicitly typed local variables.
var myInt = 0;
var myBool = true;
var myString = "Time, marches on...";

These are greatly useful while using with LINQ.

Automatic properties:

No need to write the entire property syntax.

class Car
{
  // Automatic property syntax.
  public string PetName { get; set; }
}

Extension Methods:

This technique can be quite helpful when you need to inject new functionality into types for which you do not have an existing code base.

More information on Scott Gu's blog here.

eKek0
+1  A: 

Lots of good learning resources in this SO thread.

JP Alioto
+1  A: 

Since you mentioned Dictionary, I'll respond by mentioned HashSet. I don't think Dictionary is actually that new.

Brian
It's newer than Hashtable though, which was the point of comparison.
Jon Skeet
+5  A: 

To be honest, wikipedia does a reasonable job here...

.NET 3.0 introduces:

  • WCF - communication framework to hopefully replaces asmx and remoting
  • WF - workflow framework for sequential and state flows
  • WPF - replacement for windows forms

.NET 3.5 introduces:

  • LINQ
    • LINQ-to-SQL
    • LINQ-to-Objects
    • HashSet<T>, Action<...>, Func<...>, Expression<...>, Lookup<,>
  • C# 3.0
  • some other minor tweaks ;-p

.NET 3.5 SP 1 introduces:

  • LINQ
    • Entity Framework
    • ADO.NET Data Services

EDIT: (jonskeet) The C# page has a similar layout, showing which versions introduced which features.

Marc Gravell
Marc, I hope you don't mind me adding the C# link in an edit... it made more sense in your answer than as a separate one.
Jon Skeet
fine with me ;-p
Marc Gravell
A: 

I found this page with new 3.0 features and this one with new 3.5 features.

hypoxide
+1  A: 

I have two pages which may be useful to you:

These are both about C# rather than the .NET framework, but they're a quick guide to the changes from 1 to 2 and then from 2 to 3.

For a more detailed guide, I can't help but suggest my own book, C# in Depth. Again, this is primarily about language changes (no WPF, WCF etc) but hopefully you'd enjoy it :)

My "versions" page talks briefly about the different versions of C# and .NET, so that may be useful to you too.

Jon Skeet
+1  A: 

There is a good question in Stack Overflow for Hidden Features of C#. It list all features in C#.

ecleel
A: 

As you are talking about HashTables, which is practically obsolete after framework 1.1, you should start looking at what's new in framework 2 and C# 2.

Things like:

  • Generics
  • Nullable types
  • Anonymous delegates

What's New in the .NET Framework Version 2.0
What's New in the C# 2.0 Language and Compiler

Guffa