As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have a C++ background and having to develop a larger application written in C# and using the .NET framework. So far I've been reading a lot of tutorials online but looking for books preferably unless there are some really good longer tutorials out there. The project I am working on involves threading, sockets, and GUI design. What are the best books these days? I'm using .NET 3.5 for my application.
As already mentioned, Jon's book is very good. Also very good is Mark's book "Essential C# 4.0".
I was the technical editor of both books.
The books are well named. If what you are looking for is an in-depth guide to the C# language, Jon's book is marginally better. If what you are looking for is thorough coverage of the essential features of the language and frameworks, Mark's book has the edge. But I would recommend either unreservedly.
Grab Jon Skeets book, C# in Depth:
http://www.manning.com/affiliate/idevaffiliate.php?id=876_230
Companion web site:
http://csharpindepth.com/
"The definitive what, how, and why of C# 3" - Eric Lippert, Microsoft (from the foreword)
"Become a C# 3 maestro!" - Fabrice Marguerie, C# MVP and author of LINQ in Action
"The best C# book I've ever read." - Chris Mullins, C# MVP
"Clear and concise." - Robin Shahan, GoldMail.com
"A treat!" - Anil Radhakrishna, ASP.NET MVP
"Reveals C#'s powerful mysteries" - Christopher Haypt, BuildingWebApps.com
"So good, it hurts my head." - J. D. Conley, Hive 7 Inc.
"Enriches the beginner, polishes the expert." - Josh Cronemeyer, ThoughtWorks
Follow Jon Skeet's answers here on StackOverflow
Without a doubt: Pro C# 2010 and the .NET 4 Platform (or Pro C# 2008 and the .NET 3.5 Platform if you insist on .NET 3.5)
I'm sure you'll get many responses for useful books and tutorials and such, but for me, one of the biggest helps was installing and using JetBrains ReSharper. I was already familiar with a lot of development methodologies used by the team I joined. ReSharper was a great way to be constantly oriented to C# and .NET-specific standards and potential usages.
Resharper site
Head First C# is pretty good. All the Head First! books are pretty good).
Another good book is C# In A Nutshell, from O'Reilly.
It's old, but still one of the the best in-depth books about .Net framework/CLR fundamentals, is Don Box's Essential .Net
For indepth learning - CLR via C# 3rd Edition
visual c# step by step does a great job of not only familiarizing you with the language and .net, it also does a good job of teaching you to get around in visual studio. It starts out very basic, but by the time you reach the end of the book it has touched on event handling, database access, xml, and even asp.net giving you a solid enough foundation to be able to decide what you want to learn next. Most students in my class had little trouble learning the concepts here. If you already know c++ you might find this a bit basic, but the starter sections could be used to familiarize yourself with the visual studio environment if you aren't already, so they wouldn't be just an extended rehash of things you already know.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I was wondering if anyone has any tips on transitioning from PHP to asp.net c#? I've been developing in PHP for 7 years and I'm interested in learning asp.net. However, I've been disappointed with the books that I've read so far. Seems like every asp.net book has so many examples of clicking here and dragging here and right click on this, etc... that I seem to get lost. Learning the C# language isn't bad...I think I'm getting lost in either the IDE or the .NET framework. Any tips would be greatly appreciated.
Thanks!
I suggest you look at asp.net/mvc, not webforms - it will be a more natural migration.
The good resource is the official site: http://asp.net/mvc - it has tutorials, videos and more.
The .NET base class library (BCL) is very large. It is what you will interact with most of the time (outside of your own code). The only advice I can give - look things up on MSDN. It has very good documentation and it is worth taking your time reading through it.
For Visual Studio - the VS tips and tricks blog is a really good resource to learn about it.
Coming from PHP there's probably less you need to un-learn (I was a classic ASP programmer for a long time and made the jump to .NET about seven years ago).
Microsoft has a bunch of free tutorials, as does the W3Schools site. I found the Macon State tutorials to be extremely helpful when I was starting out:
http://www.maconstateit.net/tutorials/aspnet20/default.htm
The Microsoft exam prep books are pretty straightforward, too, mostly dealing with code instead of drag-and-drop.
I felt the exact same way about the .NET / Visual Studio environment when I first approached it.
If you're not into all the GUI stuff I would recommend George Shepherd's ASP.NET 4 Step by Step from Microsoft Press.
I learned ASP.NET basics on the 3.5 version of this book and I loved it. He really starts with the nuts and bolts stuff (open a telnet window and interact directly with the HTTP server for example) that I think would appeal to most *NIX veterans. His approach gave me a good feel for what all the complicated controls in ASP.NET are really doing under the hood, which was instrumental in growing my understanding of the platform.
http://www.amazon.com/Microsoft-ASP-NET-Step/dp/0735627010/ref=sr_1_5?s=books&ie=UTF8&qid=1325190956&sr=1-5
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have checked many books but couldn't find any good book. I am interested in book from where I can learn OOP concepts with examples in an easy way. Book like Java Black book
Two excellent books that I would recommend are:
CLR via C# by Jeffrey Richter
and
Clean Code by "Uncle" Bob Martin
Richter's book will give you all of the details about the aspects (programming and OOP capabilities) of C#, and Martin's book will give you guidelines on writing proper code in an OO environment. Martin's book is geared towards Java, but the concepts apply equally to C# (IMHO).
The Head First OOA&D book that Mitch mentions in comments is also excellent. Probably the combination of all three will make you unstoppable. :)
Hope this helps!
I originally learned using Illustrated C# 2005 a little over 3 years ago, a great book at walking you through learning c# and just oop ideas in general.
The newest Edition:
Illustrated C# 2010 : http://www.amazon.com/Illustrated-2010-Experts-Voice-NET/dp/143023282X/ref=sr_1_1?ie=UTF8&qid=1298342637&sr=8-1
OOP principles are not language dependent. The only thing that changes is the syntax, and C# and Java are closely related anyway.
I've tried a couple and the one I found the most straight forward for learning both OOP and C# at the same time was Deitel's How to Program Visual C# 2010. It's probably twice or three times the price of others at Amazon but I considered it money well spent. I should mention that I'm a hobbyist programmer with no computer science background so not sure how it stacks up technically but I really enjoyed it and learned a lot.
I can recommend Pro C# 2010 and the .NET 4 Platform for learning OOP with C# - I have the 2008 version of that book and it covers all the fundamentals - and once you got those down, the book offers much more as well.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to do a project where I build a database-aware program with a front end using .NET with C#.
I am totally new to this language. Can anyone recommend a good resource? Perhaps an online PDF version of a book?
there is some free books to begin with:
C#
.NET Book Zero: What the C or C++ Programmer Needs to Know About C# and the .NET Framework
Data Structures and
Algorithms with Object-Oriented Design Patterns in C#
Threading in C#
This blog post has three good books used for teaching: http://www.robmiles.com/c-yellow-book/
There are many awesome books for C# beginers. You can use "HeadFirst C#" or "Begining C#" to give a start. Once you get hands on practice on C#, then you can try "Illustrated C# 2008" and/or "Inside C#" books. These books does not cover all the features of C#, but these will give you detailed description of features of C#.
For C#:
CLR via C#
C# in depth from our own nice guy.
Anything by Mike Murach & Associates, Inc. I have his books on JSP and Servlets, Sql Server, and Javascript. These are some of the best programming books I have read. Here is a link to his .NET books:
http://www.murach.com/books/vba.htm
If you are looking for free books, check out this link below; You have to sign up, its free. There are probably thousands of books on various areas of IT, including programming. Just use the search to find the books you are looking for:
"http://www.dbebooks.biz/"
I have a few books that I still use now but basically I favour WROX, Apress and O'Reilly above anything else.
I used the 3.5 Version of this throughout Uni and found it to be a great resource, one of the best books I own.
The examples are very clear and easy to understand and it covers a lot of areas, also it is fairly compact and easy to shove in a bag to take with you which is a bonus compared to the WROX books.
I have this and find it useful even now when revising for job interviews etc, It explains a lot of the concepts of programming c# and whilst its not going to be much use if you want a book full of coding examples I still highly recommend getting it.
I also have the WROX Beginners / Pro C# 3.5 which I used a lot when I was at uni, the 4.0 version is out now ( Here ) but you can probably pick up the 3.5 on Amazon marketplace quite cheaply. These books are like phonebook thick and great to have lying around as a reference.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have some 5+ years' background in C++/Unix development. I have been trying my hand at C#/.Net/WPF based software development for some time now. I am at a stage where I can write functioning applications fluently, but am not sure how to take my skills to the next level.
So, my question(s) to you all, especially to those who are experienced in C#/.Net/WPF:
What are the component skills and knowledge that an expert developer on this platform should have?
What technology-specific books would you expect a would-be expert to have read?
What other deliberate steps can I take to become really good at application development using C#/.Net/WPF?
Many thanks in advance! I would be especially grateful for comprehensive answers - I'm pretty sure many other developers have similar questions.
Learn how the C# language and .NET runtime work by reading CLR via C#.
Scott Hanselman's article, "What Great .NET Developers Ought To Know", is a great resource on the subject.
My team has worked in C# for the past 5 years. Typically, experienced C++ programmers take a week or two to become fully functional in C#. I've even seen some do it almost instantly, after sitting with them one morning, showing them our code, and explaning the basics of the language that differ from C++. But that's not how I recommend you do it.
I recommend you do this:
Read a C# book: My pick would be Programming C# by Jesse Liberty. Important chapters are the language itself and the basics of the .NET framework libraries. The .NET Framework is huge, so you don't have to know everything in detail. You can skip through (or skim) the Windows Forms chapters. Windows Forms is so different from WPF that it won't be useful to you if you are planning on only doing WPF.
(source: amazon.com)
Read a WPF book: The best book I read so far is Windows Presentation Foundation Unleashed by Adam Nathan. WPF has a steep learning curve compared to Windows Forms, even for experienced C#/WinForms programmers. It has a lot of complex elements to understand like XAML, dependency properties, bindings, templates, animation, resources, etc. This book teaches you the basics gradually and is easy to read and understand. And it's in full color!
Read about the Model-View-ViewModel pattern: I haven't found a good book on that yet, but it's been very important for me to make my WPF applications more simple and manageable. My favorite material to learn about MVVM is this one hour presentation by Jason Dolinger. He builds a WPF application from scratch using no particular pattern, and step by step, migrates it to the MVVM pattern.
Also have a look at this past Stackoverflow question: Questions every .NET developer should be able to answer.
For WPF specifically (and the power of WPF binding) I like M-V-VM: http://karlshifflett.wordpress.com/
Make sure you learn how to use and leverage Dependency Injection / Inversion of Control in your applications. Other very important pieces of software to learn to include with your development is Microsoft Enterprise Library and Windows Communication Foundation. Those 2 tools offer an amazing amount of leverage to avoid having to recreate the wheel to solve problems.
Other really good packages to become familiar with are NHibernate and Fluent NHibernate.
Windows Workflow Foundation is a very powerful piece of software however the complexity level is high this would be another great addition to your knowledge base time permitting.
I would add unit testing, TDD, and mocking frameworks to your list of things to know.
I have "The Art of Unit Testing" and found it helpful.
I really like WPF in Action and Programming .NET Components is essential reading for any .NET developer.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Are there any good C# focused blogs and/or podcasts out there?
Audio Podcasts:
.NET Rocks
CodeCast
Coding QA
Deep Fried Bytes
Hanselminutes
Herding Code
Jesse Liberty YapCast
Pluralcast
TheSmackdown
Spaghetti Code Podcasts
Ms Dev Show
Eric Lippert works on the C# team and often talks about language design choices. As for podcasts, I would check out .NET Rocks! not exactly c# or even always .NET specific, but still might help you out some.
Checkout Scott Hansleman's podcast, Hanselminutes. Scott talks about various .NET related tools and technologies every week and is always very interesting.
Check out this SO thread - tons of useful links
Here you go:
Visual C# Developer Center
C-sharpcorner
Csharpfriends
If it's just the language C#, I would recommend
C# team blogs and
C# Frequently Asked Questions where the team posts
Make sure you read Krzysztof Cwalina blog of .NET framework guidelines.
HerdingCode is a podcast I quite enjoy, it's run by 4 .NET bloggers. Although it's not exactly C# specific, it's in the area.
I'm not aware of anything purely in C#, but if you're interested in seeing code, try these...
A code-focussed video podcast, often in C#: http://www.dnrtv.com/.
Also, http://www.dimecasts.net/.
DNRTV definitely had some nice Bill Wagner episodes you'd be interested in.
Visual C# Community on MSDN.
They have MVPs blogs, twittes and some good links :)