- Paperback: 880 pages
- Publisher: Addison-Wesley Professional; 2 edition (September 1, 2008)
- Language: English
- ISBN-10: 0321533925
- ISBN-13: 978-0321533920
- Product Dimensions: 7 x 1.8 x 9.2 inches
- Shipping Weight: 3 pounds
- Average Customer Review: 11 customer reviews
- Amazon Best Sellers Rank: #3,313,757 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Essential C# 3.0: For .NET Framework 3.5 (2nd Edition) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
Praise for Essential C# 3.0
“If you want to be a C# developer, or if you want to enhance your C# programming skills, there is no more useful tool than a well-crafted book on the subject. You are holding such a book in your hands.”
—From the Foreword by Charlie Calvert, Community Program Manager, Visual C#, Microsoft
“In a time when you can search online for any reference material, Essential C# 3.0 is the one book I still bother to carry in my bag. Any developer can hit F1 for help with the language syntax; this book, however, arms me with the knowledge to make better design and coding decisions (and the confidence to say so). You know when a book has more than twenty pages of index that it’s got depth covered, and although Essential C# 3.0 has introductory chapters, it progresses effortlessly into the lesser known corners of the language, which makes this book indispensible to any level of C# developer.”
—Troy Magennis, C# MVP and creator of HookedOnLINQ.com
“If you are new to C#, as I was, Mark’s book is an excellent way to start. His approach takes you step by step through the structure and syntax of the language, making it easy to understand how things work. I found the code samples extremely helpful and supportive of the concepts being discussed.”
—Robert Stokesbary, senior consultant, Option Explicit
“This book expands on the concepts introduced in Essential C# 2.0 to include C# 3.0 enhancements. One great aspect of this book is that it not only covers the new 3.0 enhancements in great detail, but it also shows where it makes sense to utilize these new features over the existing 2.0 features. While I have been programming C# for many years, I find myself referring to this book often and always seem to find something new buried in the pages. This is a must-read for both the C# newbie as well as the C# seasoned veteran.”
—Michael Stokesbary, senior software engineer, Itron Inc.
Praise for the First Edition
“Essential C# 2.0 pulls off a very difficult task. The early chapters are comprehensible by beginning developers, while the later chapters pull no punches and provide the experienced developer with the detailed information they need to make the most of C# 2.0. Starting with the first chapter, Mark has successfully interwoven tidbits of information useful to even the most advanced developer while keeping the book approachable.”
—Chris Kinsman, chief architect, Vertafore, Microsoft Regional Director
“How refreshing! This book deals with C# thoroughly, rather than skimming over the whole .NET framework. It is valuable to newcomers and professionals alike.”
—Jon Skeet, C# MVP
“Essential C# 2.0 is a one-stop shop for an experienced programmer looking to ramp up on one of the hottest languages around today. Mark delivers an intelligent and detailed tour of C#, providing newcomers to the language with a solid foundation of skill on which to build their next generation of applications.”
—Stephen Toub, technical editor, MSDN Magazine
“This book provides complete, up-to-date coverage of all the programming constructs in C#. Masterfully organized, it allows beginning programmers to get on board and leads more experienced programmers into the world of structured programming. Because of its unwavering focus on the essential programming constructs of C#—such as generics, delegates, and much more—this book is indispensable. For programmers who want to solve their day-to-day programming issues using the latest features this modern programming language has to offer, this book is indispensable.”
—Narendra Poflee, IT integration specialist, Itron Inc.
“Essential C# 2.0 is an ideal book for all programmers interested in C#. If you are a beginner, you will quickly learn the basics of C# programming and become familiar with the concepts. The flow of the text is easy to follow and does a great job of not repeating concepts that have already been covered. For the experienced programmer, this book has priceless nuggets embedded within its pages, making it a great read for programmers who are already familiar with C#. This will be a book that I will keep next to my computer for years to come.”
—Michael Stokesbary, software engineer, Itron Inc.
About the Author
Mark Michaelis is an enterprise software architect at Itron Inc. In addition, Mark recently started intelliTechture, a software engineering and consulting company offering high-end consulting in Microsoft VSTS/TFS, BizTalk, SharePoint, and .NET 3.0. Mark also serves as a chief software architect and trainer for IDesign Inc.
Mark holds a B.A. in philosophy from the University of Illinois and an M.S. in computer science from the Illinois Institute of Technology. Mark was recently recognized as a Microsoft Regional Director. Starting in 1996, he has been a Microsoft MVP for C#, Visual Studio Team System, and the Windows SDK. He serves on several Microsoft software design review teams, including C#, the Connected Systems Division, and VSTS. Mark speaks at many developer conferences and has written numerous articles and books.
When not bonding with his computer, Mark is busy with his family or training for the Ironman. Mark lives in Spokane, Washington, with his wife Elisabeth, and three children, Benjamin, Hanna, and Abigail.
Browse award-winning titles. See more
Top customer reviews
Unlike other books, the font size is reasonable and easy on my eyes.
I would put this book as a good book for new to intermediate C# developers.
Might want to follow this up with Juval's "Programming .NET Components" or
John Skeet's "C# In Depth" for advanced c# developers.
When I state that the book is for beginners, what definition of beginner am I choosing to use? For this book, the term "beginner" refers to someone who has previous programming experience with another language and is just looking to make the switch to the C#.NET programming language. This book assumes that you already have a firm grasp of most programming concepts but does spend some time making sure you understand the various beginning concepts from a C#.NET point of view. Many say that C# is the continuation or next generation of C, C++ and Java programming languages. While this true, there are always certain "quirks" to how each language handles various concepts. Mark Michaelis makes sure that everyone who reads this book develops a solid foundation on the concepts of C#.NET 3.0 programming and then builds many levels on that foundation.
Will you be a C#.NET 3.0 expert by the time you complete this book? Not by any means, of course. Mark Michaelis gives you the tools and foundation that you need to begin writing code in C#.NET 3.0 and where you go from there is up to you. There are many, many other books available that can take you further in specific areas, but none of the books that I have read previously on learning C#.NET programming have come close to the quality of this particular book. As stated, it is written primarily with beginners in mind, but Mark's "Advanced Topic" sections give you some good understanding of some advanced programming features that you can come back and re-read to better understand once you have built the foundation. This book is a good book to have sitting on the shelf as a reference book down the road when you need to refresh yourself on an idea or concept.
If I were to pick a favorite chapter I would say that it would have to be Chapter 12: Delegates and Lambda Expressions. This is a chapter that I need to re-read a couple of times before I really start to get the information to sink in. Once it does, I believe I will be a better coder for it. I have often heard the term Lambda Expressions being used in presentations and conversations but I have never really understood the concept. Now I am beginning to understand the concept of what a Lambda Expression is and am quite excited to learn more about them.
While I have expressed great pleasure in reading this book, there is one "minor" flaw that is a bit of an irritation for me as a reader. I realize based on the layout that it would be very difficult to produce in a vertical sense and hence I understand the reasoning behind the decision to produce the item in done manner. It is the "Table" information pages that can be found throughout the book. Due to page restraints in the vertical axis, Mark Michaelis or the publisher chose to publish the Tables in a horizontal axis instead. This, for the reader, means that you have to turn the book horizontal if you wish to read all of the information that is available in the tables. It is a bit of an irritation for me but it does not retract from the overall sensation of reading and thus does not affect the score in any way. This is just a warning for those who are about to undertake the same education path that I chose.
The book is easy to read, and labels specific sections as Beginners (which I mostly speed-read through) and as Advanced (which I usually read carefully). Something I particularly liked is the way it described the C# changes from 1.0 to 2.0 to 3.0 for each area: even though many of the 3.0 changes occurred while I was on the C# team, I never got the chance to really use them, and the book managed to remind me of lesser-used C# 2.0 features that I had plain forgotten (like nullable types).
I am not a big fan of the MSDN web site, in fact it drives me crazy almost every day I use it, and it especially drives me crazy when I am trying to find C# things. Before this book, delegates were my biggest C# bugaboo: I could never get the syntax quite right, and I'd go off and look at other folks code in our project and try to copy what they did, and I'd eventually get something that compiled. It turns out that one of the reasons I was confused is that the syntax has evolved over the C# versions, and our project uses pretty much all of them, depending I think on the author and when the code was written. I really loved Chapter 12, which is all about delegates, and after reading the book I managed to write some new delegate code without so much as a compiler error. It also taught me how to read and write the new 3.0 syntax for lamda expressions, and although I can't say I can do those right first time, I can at least read them and get one of my own to compile in a few tries: a great improvement.
The book doesn't try to cover the myriad of .NET Framework features, and sticks just to the basics like Object, Collections and some on Threads. That suits me just fine, MSDN is just-about-usable when it comes to Framework documentation.
The book is not perfect: each chapter starts with a Mind Map, which is a star-shaped diagram that attempts to explain the contents of the following chapter: it was meaningless to me. Its coverage of platform invoke is also lacking, especially in marshalling and pointer handling, and that is one area that MSDN is particularly poor so I usually resort to internet-wide searches for answers to my issues in that area. The chapter on Query Expressions I found hard going after a while, but I think that is due to the subject matter and my mind, not the book. Once I actually start using LINQ I'm sure a revisiting of the Chapter 15 will make a lot more sense the second time around.
In summary I like this book a lot: its level suited my skill set perfectly, and it taught me a bunch of new things as well as reminding me of a few forgotten gems. It will take its place on my desk at work as the first place I turn to for C# information.
Most recent customer reviews
First place that I learned that there was a change in these from earlier versions of C#.