BOOK REVIEW: C# and the .NET Platform (Andrew Troelsen:   Apress)

By Peter A. Bromberg, Ph.D.

Peter Bromberg  

Andrew Troelsen is a trainer, consultant and partner at Intertech, Inc. He has extensive experience developing with and instructing in classic COM using ATL and VB 6.0. However, his current passion would have to be C# and anything related to .NET. Andrew is the author of the best selling "Developer's Workshop to COM and ATL 3.0", (which I also own and highly recommend) , and "VB.NET and the .NET Platform". He holds numerous Microsoft Certifications.

The author's experience as an instructor helps him do a very good job at explaining how .NET works while bringing readers of different abilities up to speed with C#. Experts will appreciate the detail on class design, COM, and Web services, while beginners will be able to gain ground quickly by following the author's well-organized tour of the basics. In all, this combination of strengths makes "C# and the .NET Platform" an attractive choice in the growing list of titles on C#. Most importantly, and unlike many of the other books on this subject, Troelsen focuses on using the Visual Studio.NET IDE (Integrated Development Environment), which I believe is really the experience that .NET is all about.

"C# and the .NET Platform" is quite possibly the most readable computer book in this subject area that you'll find; it's packed with the information that you need and omits information that you don't. There are exercises in each chapter that reinforce the ideas presented. Not just the basics, yet not bogged down in detail. Andrew Troelsen does an exceptional job of balancing the theory of the .NET Platform with the practice of C# as a programming language. Thorough explanations and real-world examples, thoughtful organization, and an attention-holding narrative style make this book the enlightened developer's way to not only gain rapid ground in the use of this elegant and concise programming language, but also to fully understand "why" different aspects of the Common Language Runtime and the .NET Framework are the "way they are". This book is truly outstanding because Andrew Troelsen really understands his subject. He leaves very little to chance, and not too much knowledge is assumed.

Troelsen's first chapter, "The Philosophy of .NET", completely dissects the historical basis in programming languages and platforms that has resulted in the .NET platform. Once this first chapter is "under your belt", you'll understand the Common Language Runtime, the Common Type System, Namespaces, Assemblies, Intermediate Language, JITters, ILDASM, ClassViewer, WINCV, the Command Line compiler, and the basics of the Visual Studio .NET IDE with its major features and tools.

You are immediately taken to Chapter 2, "C# Language Fundamentals" where you quickly cover the basics of Classes, Constructors, Member Initialization, Value and Reference Types, and overriding default behaviors. DataTypes, boxing, default assignments, Variable scoping, contants, iteration, operations, custom class methods, static methods, arrays, string manipulation, enumerations, structures and custom namespaces are also covered. Chapter 2 is really almost a book by itself! And it's all done in a thoughtful, concise and logical manner that's easy to absorb. You will find yourself reading all of this book with your yellow highlighter uncapped and marking important items repeatedly as Troelson effortlessly packs knowlege into your hungry mind.

Next you are moved into Chapter 3, "Object Oriented Programming with C#", which really takes you deep under the hood with a sound explanation of the three pillars of OOP. Further chapters cover interfaces and collections, advanced class construction techniques, assemblies, threads and app domains, reflection and attributes, Windows Forms, GDI+, controls, object serialization, unmanaged code, ADO.NET, and chapters on Web Development and WebServices.

Most of the C# books I've read to this point have focused only on the language--not how to use C# along with the.NET Platform. Troelsen comes from the Visual C++ ATL world, and assumes the reader has background in some modern - day programming language (C++, Visual Basic, Java). This offering stands out from the rest of the books with its clear and simple to understand explanation of the new C# language and .NET framework.

From the object-oriented programming fundamentals of using C# to the advanced use of C# in Assemblies and Reflection, the book virtually covers all. The power of the new C# language is demonstrated in the book with ease. Though it also covers ADO .NET, WebServices, COM Interop and using Component Services, I think an extra standalone chapter on Component Services under the .NET Platform would have made a valuable addition to the book.

This is a great book for learning C# and .NET; it covers all the basics in just enough detail. I think that this is probably about the best C# book for beginners who have some programming experience, and yet in later chapters the subject matter goes deeper into more complex topics such as GDI. I found this to be one of those few books that you will want to have handy on your desk while you are coding, as you are likely to refer to it many times over an extended period of time. One of the great features about this book (and Apress books like this in general) is the guarantee that as later Betas and releases come out, you'll get free updates to the book on their website. In other words, unlike many of the earlier books on .NET, your investment in this book will not become obsolete. I rate "C# and the .NET Platform" by Andrew Troelsen as "Highly Recommended"!


Peter Bromberg is an independent consultant specializing in distributed .NET solutionsa Senior Programmer /Analyst at in Orlando and a co-developer of the developer website. He can be reached at