Murach's C# I own three other Murach books now (Murach's Beginning Visual Basic .Net, VB.Net Database Programming, and ASP.Net Web Programming with VB.Net) and have found them all to be excellent initial learning tools and post learning reference books. All of the books are well written, laid out in a thoughtful manner which makes it easy to learn and easier to use as a reference. Murach calls this layout "paired pages" which simply means putting the explanation of the concept on the one page with the execution or examples of the concept on the opposite facing page. I was nervous about moving from VB.Net to C# before reading this book, but since reading the book I have quickly moved from intimidated to making C# my language of choice. The fact that this process took me only three days using this book should speak volumes about how effective it is as both a learning tool and reference.
The C# book covers the same basic items that the Murach VB.Net book covers, but after the basics it takes a divergent path. The VB.Net book included only the basic information on database programming where the C# book goes in to how to work with data by designing your own classes. For VB.Net developers that topic was covered in Murach's database programming book. The VB.Net book also had a basic over view of ASP.Net coding and web services using VB.Net the C# book took up that space in the book with the extra exploration of database programming, a longer section on working with XML files and some information on working with binary files.
My level of programming knowledge is not what I would call extensive, but I am no longer a beginner as I was with the first Murach book. I don't have any background in C, C++ or Java programming though so the style of C# programming is totally new to me.
In order to write this review I am revisiting several pieces of code that I have written in actual business applications. To be honest I feel that some material is not covered in enough depth. The information for String.Format() was incomplete and left out the R or r and X or x format specifiers. These two specifiers aren't commonly used, but I feel that beginning level books should make readers aware of their existence even if they are not covered in depth. Absent as well was any information on using checked to specifically check and catch overflow errors; example:
try
{
long d = checked((long)Convert.ToInt64(s));
lblPlayerUID.Text = String.Format("{0:x}", d);
}
catch (System.OverflowException exception)
{
lblPlayerUID.Text = exception.ToString();
btnSubmit.Enabled = false;
}
The book does an excellent job of showing you how to connect to databases using the IDE to create connections, adapters and datasets for you or for building all of those objects in code. It even goes through making a class for all of you data retrieval and modifications. In my opinion the extra database material is fantastic since most business applications will make use of some database component. Writing a database class cuts down on the amount of code one has to write and makes the code much more manageable.
The book also does an excellent job of covering the object oriented programming concepts with two chapters devoted to building and using classes including tips on how to use XML to document them. It also includes a full chapter on inheritance and another on interfaces, structures, and class libraries.
In summary the book makes good on its promise of being "the C# book you'd wish you'd bought first". It is written in the same excellent style that gives you code snippets and explanations on the way to building a complete application and then gives you the complete code for that application at the end of each chapter. It is the perfect blend of teaching text and reference text. It uses the Visual Studio IDE unlike many books that seem to imply that using the tool makes you less of a "real" developer or include it as an afterthought. The book covered OOP better than any book that I have used previously and explored classes beyond anything I had seen. Despite the depth in this area the material was written in a clear understandable manner that made learning the concepts easy. The practice exercises included in the book server to reinforce what you have been taught while making you apply those same concepts. I used Murach books to teach myself VB.Net, ASP.Net and Database Programming using VB.Net and their C# book is exceeding my expectations in that area as well. I only hope that they produce an ASP.Net book that uses C# as the code behind language.
No one has replied yet! Why not be the first?
Sign in or Join us (it's free).