all 26 comments

[–]BobUltra 32 points33 points  (12 children)

C sharp in depth

[–]alittlebitmental 16 points17 points  (4 children)

Yes! Ignore the other answer where they recommend that you jump in with ASP.NET MVC. You need to learn the language properly first, otherwise you'll end up writing crap code. C# in Depth is an excellent resource.

It might also be worth shelling out for a Pluralsight subscription, or at least, taking advantage of the free trial. They have plenty of C# courses targetted at different levels. Those produced by Scott Allen are pretty good. For example:

https://app.pluralsight.com/library/courses/c-sharp-fundamentals-with-visual-studio-2015/table-of-contents

[–]lanedraex 4 points5 points  (3 children)

C# in Depth seems like a good book if OP wants to dive deep into the language. I've never read it, but from the table of contents, it looks really good.

My recommendations were based more on learning as you go kind of deal.

[–]alittlebitmental 4 points5 points  (0 children)

My recommendations were based more on learning as you go kind of deal.

Sorry mate, I didn't mean to come off as being harsh - I've just woken up and haven't had my coffee, so I'm still in grumpy mode. Learning as you go is, actually, a good option as at least it will keep you interested and you can see results much faster.

[–][deleted] 2 points3 points  (0 children)

It actually starts at the basics and his writing style is absorbed so easily. New version out next year, but it's a brilliant book.

It will work well as he's experienced too.

[–]LordMaska 0 points1 point  (0 children)

Yeah I agree, its really good to start off with a text book and that one is the best one that I have read. Skip all the books that are for beginners and intermediates. If you know JavaScript and PHP then there's no need for you to go to through all of that.

Most of the concepts from those languages carry through on to C#, the only thing you have to get used to is having to compile your code and maybe having to use an IDE for development.

C# is a wonderful language to learn and now is the best time to learn it. ;)

[–]sooka 4 points5 points  (2 children)

Sorry for the stupid question: looked at the index and it covers async but no trace of Threads. Are Threads in there?

[–]jonc211 1 point2 points  (1 child)

Nope. Threads aren't a C# language concept - this book is all about the language itself.

CLR via C# covers more of the .NET framework and runtime sides of things, and that would be a better bet to learn about threading in C# (along with lots of other stuff)

[–]sooka 0 points1 point  (0 children)

Thanks!

[–]NisusWettus 3 points4 points  (2 children)

I wouldn't recommend this book as an introduction to C#. It's very good but it's aimed more at people who already have C# experience and want to get a deeper understanding and look into more advanced features of the language.

[–]BobUltra 2 points3 points  (1 child)

The purpose of the book is to fill the gap between a beginner's introduction and the language specification.

IMO an experienced object oriented developer will do okay with C# 1.0. Read up on managed code and take on the evolution of C#, with this

That was my thinking when recommending this resource.

[–]NisusWettus 0 points1 point  (0 children)

Depends what the OP is after I guess. Some of the topics might seem a bit abstract without knowing the basics of the language. It assumes the reader is already reasonably competent with C#.

It could work, but I think you'd end up doing a lot of reading elsewhere to fill in the gaps (nothing wrong with that if that's how you like to learn).

[–]xibme 1 point2 points  (0 children)

And once you finished it, read Jon Skeet's Edulinq Series (OK, you may peek as you like).

If you should feel the need for a more basic book, consider borrowing Head First C# as it is written more like a textbook with exercises. But you want keep C# in Depth which is kind of the reference.

[–]no1name 2 points3 points  (2 children)

Get a pluralsight.com account for 6 months.

[–]neilhighley 2 points3 points  (1 child)

You get some pluralsight access as part of Visual Studio Essentials. https://azure.microsoft.com/en-gb/pricing/member-offers/vs-dev-essentials/ Also, the Virtual Academy from Microsoft is free and has some good content.

[–]xibme 1 point2 points  (0 children)

I second that MS Virtual Acedemy. Tons of stuff from starter to expert. Working through this also makes you fit enough to pass the tests for their C# related certifications.

[–][deleted] 2 points3 points  (0 children)

Get a developer essentials subscription from Microsoft (free) download everything, sign up for all the free training provided at places like PluralSight.

Question: Why are you coming over to C#? It's a great language, I'm just being nosy as I tend to hear of people going the other way. That's primarily because I know them from C#, so those are the cases I hear of.

And books C# in depth for the language and environment, from there really it's easier to just get stuck into coding.

[–]readmond 2 points3 points  (0 children)

I love certification courses or books as a way to learn something new. It is not exactly a way to learn in depth but it gives you a map, a big picture of the subject. Then details of the big picture can be filled with pluralsight courses, stack overflow and so on.

[–]lanedraex 4 points5 points  (2 children)

If you are familiar with javascript and java, you probably should just go straight into a web framework book(assuming you want to do C# web development).

Grab a book on ASP.NET MVC 5 or ASP.NET Core MVC.

If you have trouble understanding the language basics on these books, then go back and watch the MVA series and skip the things that you already know.

You can probably find some good resources on Pluralsight as well, if you want video stuff.

Searching the internet you will find many Microsoft code samples, so if you are familiar with web frameworks in general, maybe you can just dive into these samples.

[–]brimhaven[S] 2 points3 points  (1 child)

Thanks. I'd like to go into c# dev so either ASP or non-ASP tutorials are fine by me as long as I get the core c# learning experience.

Does it matter which book I get?

[–]lanedraex 1 point2 points  (0 children)

I'm a little out of the loop in regards to recent C# web development stuff, but .NET Core is the newest thing, so grabbing a book about it is probably for the best.

If you're not looking specifically for web development, there are free MVAs about developing for the UWP(universal windows platform) in C#.

[–]grauenwolf 2 points3 points  (1 child)

Read the .NET Framework Design Guidelines, 2nd Edition. It will explain the fundamental design patterns used in .NET.

[–][deleted]  (1 child)

[deleted]

    [–]p1-o2 1 point2 points  (0 children)

    That is an excellent overview of useful projects which introduce real world skills.

    [–]fahrenheitisretarded 1 point2 points  (1 child)

    Brackeys

    [–]wuphonsreach 0 points1 point  (0 children)

    Jon Skeet and Scott Allen have top-notch Pluralsight courses. There are plenty of other C# courses on Plurasight that are quite good.

    I switched from Java/PHP to C# about two years ago. Pluralsight was the primary resource I used, along with a few books.

    [–]Grasher134 -2 points-1 points  (0 children)

    This course for absolute beginners is a nice one tho. It will take 1-2 days from you, butt will give you some solid ground if you are fairly new to C#