Book Review: Murach's C# 2005
- Title: Murach's C# 2005
- Author: Joel Murach
- Level: Beginner
- Publisher: Murach
- Pages: 812
- Rating: 3.5 of 5
Murach's C# 2005 is an impressive book on using C# for developing Windows
based applications. One of the big plus of this book is its highly structured
"how to" approach that makes your learning easy. Paired pages, Tables, screen shots, figures,
bulleted quick lists and code snippets are found in abundance in almost in all
the chapters and serve as a handy reference. Moreover small sample projects are
scattered throughout the book that give more insight of the topics being
The book consists of 25 chapters spread across 5 sections. The first section
is about basics of VS.NET. Section two is about C# language essentials. Section
three is about OOPs, section five is about database programming with ADO.NET and
the final section teaches miscellaneous skills such as File IO, XML manipulation
The first section titled "An Introduction to Visual Studio"
consists of three chapters. Together they give understanding of VS.NET
environment, designing Windows Forms applications and basic debugging skills.
The section two teaches essential C# skills. This section consists of eight
chapters. The section begins with discussion on data types (Chapter 4) followed
by control structures (Chapter 5). Writing methods and event handlers is covered
in Chapter 6. I feel that explanation on delegates is not sufficient even though
the audience is beginner level. Handling exception is one of the important
aspect of any application and it is covered in Chapter 7. The chapter also
covers common validation techniques. Generics is one of the great additions to
.NET 2.0. Generics is neatly covered in two chapters i.e. Chapter 8 and 15.
Chapter 10 details how to work with windows forms controls. Common controls such
as textboxes, combo box, radio buttons and check boxes are covered. However, it
would have been nice to see few more controls included there. Debugging is very
important skill and beginners often get confused to see so many different
debugging windows of VS.NET. There is a dedicated chapter (Chapter 11) on
debugging that teaches frequently used debugging tasks.
Sound knowledge of OOPs is a must have skill set for any C# developer.
Section three is dedicated to OOPs. Chapter 12 and 13 cover things such as
classes, properties, methods, delegates, events and indexers. The techniques of
class inheritance are explained in Chapter 14 including polymorphism, abstract
classes and sealed classes. Chapter 15 covers interfaces and generics. The
explanation on generics is simple and easy to understand for beginners. The
section ends with a chapter on code organization (namespaces and class
libraries) and XML documentation. A chapter (or at least few pages) on
assemblies, manifest and internal code arrangement would have been a nice
Section four is what I would rate the best section out of the five sections.
It covers database programming with ADO.NET. The section consists of five
chapters giving you insight of data access. The section begins by discussing
basics of database programming such as RDBMS concepts, SQL and overview of
ADO.NET. In Windows Forms 2.0 Microsoft has added the concept of "data sources"
that aspect is nicely covered in Chapter 18, 19 and 21. Though data sources are
good additions they have drawbacks of their own and at times you need to write
your data access logic from ground up. This is the topic of Chapter 20. Pros and
cons of data sources and manual code and when to select each flavor would have
been a nice addition.
Section five is intended to hone your skills of C# programming. It consists
of four chapters. Chapter 22 and 23 deal with File IO and XML manipulation.
Chapter 24 talks about using new controls such as MenuStrip and ToolbarStrip. It
also covers developing SDI and MDI applications. You developed an application
but what next? Deployment of course. This is precisely the topic of the last
chapter (Chapter 25). It covers XCopy deployment, ClickOnce feature and creating
Since the title of the book is Murach's C# 2005 and not specifically Windows
Forms, I would have expected ASP.NET and Web Services related information also. ASP.NET is something that is very important for many applications developed today. But the book has restricted its focus only to Windows Forms.
Overall it is a very good book for C# 2005 beginners. You will get a good
start in developing Windows Forms applications using C#. The highly structured
and "how to" based approach will enable you to quickly learn and implement the
skills in your applications.