I’m about to help a few guys here with their transition from Java to .Net, namely to C#.
I thought it may actually be a good idea to gather a few helpful links together for you. Stuff I found useful while I was phasing into the joys of the .Net framework a while ago.
The official stuff
First and foremost C# is an ECMA regulated standard. And as such is pretty well documented. ECMA allows you to download PDF e-books regarding the standardized part of the language:
The books are a free download, you could theoretically request the books in printed form (for free) which I did back in my time when I was learning C# but it looks like they have a strict publications ordering form with a combo box of publications which… surprisingly do not list entries 334, 335 or 372. I suppose there was a big number of those smart guys who smelled free books… and the trees were crying.
There is also a good explanation (although highly redundant) on MSDN pages.
Hint: I highly suggest that you read the Garbage collection part of that. It REALLY helps in your day-to-day problems.
I have to say I’m really impressed by the official documentation. I was initially trying to shop around for some C# books back in my days of learning but since there seemed to be none that were both accessible here without waiting for a month or so for delivery and worthwhile I reverted to official docs. And I can tell you, THEY ROCK.
For all your ASP.NET need visit… surprise, surprise… ASP.NET official page.
You may also want to read up on the IIS official page for getting accustomed with IIS. For what it’s worth, there are some articles here.
I would say… don’t buy any books for it, it’s all there and it’s written really well.
All in all, I’m really impressed at how well this stuff is documented, Microsoft really did a great job here. Makes me feel taken care of. But after all… when in doubt – throw money at it.
The good stuff
It looks like for almost every problem you may have there is a simple, clean and not-quite-accurate solution out there.
For those I usually look at CodeProject. Amazing how many of those unique problems you may have, are not so unique. Just put up a proper filter (C#, .Net, ASP.NET) and fill in a few words. Amazing stuff there.
.Net framework does not fully cover all the old stuff of the WinAPI. I do not suspect we will need much of it here, but if you ever needed to use some legacy windows DLL access for stuff not directly supported by the platform (like e.g. speedy reading INI files, or manipulation of Windows handles to get a per-pixel translucent windows ) there is a cool site that helps, which is called exactly like the gears that are used to do it – Pinvoke. There are other marginally useful sites like CodeGuru, DevX or C#Corner but I don’t use them nearly as much as CodeProject or Google.
Hint: when on Google try to use Google Groups rather than just the Google Web search engine.