tags:

views:

581

answers:

17
+9  Q: 

Learning .NET

Assuming all goes well and I get employed by the company I am about to interview with I will probably need to learn .NET and C#

I already know PHP, Python, Java and some C (Pointers and Memory Management are not so good) so I'm going to be able to do it if I can find a good tutorial to cover the key parts of it, does anybody have a link to a good tutorial for it or better yet, for someone switching from one of those languages to .NET?

+6  A: 

If you know Java, you'll pick up C# pretty quick. To get started, go to the MS web site and download Visual Studio Express.

Joel Coehoorn
Couldn't agree more. Get stuck in :)
GateKiller
+4  A: 

Charles Petzold wrote a book that is suited for your situation. It is free:

http://www.charlespetzold.com/dotnet/

Dale Ragan
+2  A: 

There are both video and read-along tutorials at

http://www.asp.net/learn/

that teach asp.net. Many come in c# and vb flavors.

Chris
The original poster of the question didn't say he was going to be learning ASP.NET, specifically - just .NET and C#.
Jason Bunting
+8  A: 

Try "Getting started with Visual C#".

Jason Bunting
+1  A: 

My suggestion would be to bookmark the .Net Framework Class Browser. Although you can browser it via VS, I find browsing it through your browser much easier.

Apart from the basic language constructs of C#, the .Net framework is the part you will be using the most so try and get familiar with the most common objects and methods.

GateKiller
Oops - doesn't seem to be working these days...
CJM
+4  A: 
George Mauer
+2  A: 

There are some good books for developers with Java background:

Here are one of the best books on C#:

  • C# 3.0 Unleashed: With the .NET Framework 3.5
  • Head First C#
  • Programming C# 3.0
  • C# 3.0 Design Patterns

One book that I consider as a must read is "Framework Design Guidelines" It really helps to understand how and why .NET was designed,

aku
+3  A: 

Just get Visual Studio C# Express, and then start trying to create something. You will learn it best by just playing. Failing that, I here the Jeffrey Richter C# book is brilliant.

Mark Ingram
+2  A: 

Once you've got a grasp of C#, and assuming that you want to do some web development, take a look at Microsoft's ASP.NET site at http://www.asp.net/ which has many videos and tutorials designed to introduce you to aspects of ASP.NET development.

vextasy
+1  A: 

As @Joel Coehoorn said you'll pick it up very quickly if you know Java. I was in your situation when I interviewed for my current job and I was able to read and understand code during a technical interview with my then limited Java knowledge.

.NET, like any language has easy and hard parts and you'll confuse yourself if you try and jump in with any advanced concepts. Saying that the easiest way to learn is to get your hands dirty.

I used C Sharp Corner a lot when I was learning.

Rob Stevenson-Leggett
+2  A: 

This link has some excellent resources for people coming from java world.

Gulzar
+5  A: 

I think that one of the problems with learning a language / platform that's been around for several iterations is understanding its evolution. Generics in .NET 2 obsoleted parts of the BCL (e.g., ArrayList --> List) and this can be confusing. For example, Dictionary is now preferred to Hashtable but the element in a Dictionary is KeyValuePair while in HashTable it's a DictionaryEntry. I think this would confuse me at first glance. Looking at the transition from Delegates to Anonymous Delegates to Lambdas and seeing that Lambdas have superseded Anonymous Delegates but there is still use for conventional delegates is another example.

A book that I think would greatly help learning C# from this perspective is C# in Depth by John Skeet. Not only is it a good book on C# 3 but it specifically addresses the improvements/changes in each release of the language / Framework Library. If I were an experienced developer on another platform, this would be the first book that I'd like to have read.

dpp
+3  A: 

C# is very similar to Java in syntax, but not really in style.

Here is a link to several coding styles and it includes the suggested .net style. coding guidelines

There is some additional language elements, like Properties (think getters and setters) and the ability to overload operators. In general you don't need all of these things to get work done, but you do need to think about how they could be used.

The newer features in the language like LINQ are just something you'll have to pick up over time. Most C# programmers who have been working in the language for years don't really use LINQ outside of some experimentation. Hopefully this will change.

As for .NET, well it's huge, just like the JAVA API, and picking it up is really a long labor of many years. You can become quite good with sections of it though and be super productive very quickly. My suggestions would be to focus on System.IO, System.XML, and System.Data, those seems to be the libraries that I see used most.

Dan Blair
+2  A: 

Dare Obasanjo has a great article called C# From a Java Developers perspective that covers the major differences between the languages.

C# From a Java Developers Perspective

FlySwat
+2  A: 

You could try MSDN Ramp Up to get up to speed on .NET.

Jon Limjap
+2  A: 

Buy and read CLR Via C# from cover to cover. This is THE book on .NET, covering the Common Language Runtime and a good deal of the syntax of C#. Its a heavy book, but reads well. Just skip the first few chapters, saving them for when you've completed reading the rest of the book.

Keep in mind, the book covers .NET 2.0. The current CLR is in version 2.0; the framework is now at 3.5. So the book may seem to be out of date, however it isn't. You will need to learn Linq (which supercedes ADO), WPF (which supercedes Windows Forms) and WCF (which supercedes... a jumbled mishmash of different communication methods) seperately.

Will
LINQ does not supersede ADO. It just abstracts it.
FlySwat
+1  A: 

I love this webpage: http://www.java2s.com/Tutorial/CSharp/CatalogCSharp.htm

And download the VSExpress, It's free: http://www.microsoft.com/express/product/

yelinna
nice...that webpage is exactly what I'm needing.
Xanatos