views:

7825

answers:

13

I have a lot of experience with C++ and have used many other languages (Java, Smalltalk, etc.). What is the best book to learn C# without having to be told what a variable is, what classes are, etc.? I'm specifically interested in C# 3.0 but books that only cover the older specs are also acceptable.

A: 

Coming to C# from C++ I just read MSDN: http://msdn.microsoft.com/en-us/library/kx37x362.aspx

ChrisW
+13  A: 
Ric Tokyo
+1 for CLR via C#.
Ruben Steins
CLR via C# is a great book, there's no doubt about it - but I don't think it's the best choice as a first book in this particular case. +1 for linking to my book reviews though - I didn't even think of that :)
Jon Skeet
Great book for sure, but it only covers C# 2.0.
Brian Rasmussen
yes, thats why I sent the list of reviews from @Jon Skeet, namely I think the recommendation most adequate being: http://msmvps.com/blogs/jon_skeet/archive/2008/08/01/book-review-accelerated-c-2008-by-trey-nash.aspx
Ric Tokyo
it`s more about framework that about C# itself. but I agree - great one.
chester89
+16  A: 

Someone else may end up mentioning my own book, C# in Depth - but this isn't quite the book you're looking for. It only covers C# 2 and 3, without going through C# 1 to start with, and it doesn't cover the framework libraries (except for a bit about LINQ).

I think in this case C# 3.0 in a Nutshell may be your best bet. Of course, I'd love to recommend that you get C# in Depth after you've read your first C# book :)

Jon Skeet
I dunno - I expect the OP could cope with "C# in Depth"...
Marc Gravell
Quite possibly, but I suspect they'd have an easier time of it if they at least *skimmed* a C# 1 book first.
Jon Skeet
Your book is one I was considering. I'll make it my second book instead of my first.
Steve Rowe
+1  A: 

I find the More Effective C#: 50 Specific Ways to Improve Your C# by Bill Wagner to be on the advanced side.

Przemek
+3  A: 

For beginning C# :

Wrox Professional C# 2008

For advanced topics I recommend Juval Lowe's :

Programming .NET Components

Canavar
+1 for Programming .NET Components
Johnny Blaze
+7  A: 

C# 3.0 in a Nutshell will get you up to speed pretty quickly and its an excellent reference.

You may also want to check this question.

Brian Rasmussen
+4  A: 

C# 3.0 Pocket Reference

A small, quick reference that is very helpful on the job. I've found it (well the original one) very helpful during my transition from Java to C#. It gave me a quick reference for the subtle difference between the languages.

It covers:

  • Features new to C# 3.0, such as lambda expressions, anonymous types, automatic properties, and more
  • All aspects of C# syntax, predefined types, expressions, and operators
  • Creating classes, structs, delegates and events, enums, generics and constraints, exception handling, and iterators
  • The subtleties of boxing, operating overloading, delegate covariance, extension method resolution, interface reimplementation, nullable types, and operating lifting
  • LINQ, starting with the principles of sequences, deferred execution and standard query operators, and finishing with a complete reference to query syntax-including multiple generators, joining, grouping, and query continuations
  • Consuming, writing, and reflecting on custom attributes

All that in an even more concise format than C# in a Nutshell

mezoid
C# 3.0 in a Nutshell also provides a good overview of the core libraries though, which will be necessary to anyone new to .NET, IMO. Not saying that the Pocket Reference wouldn't be handy too :)
Jon Skeet
true. which I guess is why I own both. But I must admit that I found I used the pocket reference more...particularly when a lot of my early questions were how do I declare this the C# way. I would keep the book at my desk and access it very frequently until I was comfortable coding in C#.
mezoid
A: 

C# Precisely

The book lives up to it's title. It's brief, but has everything you need to know and is easy to read.

The book has an innovative format: the main text on even pages, examples on odd pages. S

John D. Cook
+2  A: 

My personal suggestions are as follows:

C# In Depth.

Fantastic book focusing on the C# language rather than the .NET framework itself.

Essential C# 3.0

This is another excellent book that amazingly seems to be easy enough for relative newbies to C# to understand, whilst still providing enough depth for more experienced programmers.

C# 3.0 In A Nutshell

A great reference-style book for C# 3.0 and the new features of the .NET framework 3.5.

CraigTP
+2  A: 

i just switche from java to c# development and had a really nice time doing it because of the books i read.

first read Accelerated C# which is packed pretty tightly. i understood everything, but wasnt sure where to apply some of the advanced stuff that java doesnt offer. right after i finished reading it i started jon skeets C# in Depth which gave me what the title says. now i know when and how to use the advanced concepts and how they relate to each other and to the framework itself.

i really liked the combination of those two even if the overlap in some concepts, but thats just what makes it more clear to me.

LDomagala
+1  A: 

I really recommend pro c# and the net platform, it's currently on it's forth edition covering Net 3.5

http://www.amazon.com/2008-NET-Platform-Fourth-Windows-Net/dp/1590598849

Almond
A: 

Check out my list of good recently published books related to .NET development:

http://www.riaguy.com/books/

Koistya Navin
A: 

I'm surprised this book hasn't been mentioned. It's unfortunately been roundly ignored, but I'm constantly referring to it: Advanced .NET Programming by Simon Robinson. It's out of print but you can get it on Amazon.

http://www.amazon.com/Advanced-NET-Programming-Simon-Robinson/dp/1861006292/ref=sr_1_1?ie=UTF8&s=books&qid=1264453056&sr=8-1

Kevin Won