- Series: Expert's Voice in .NET
- Paperback: 1487 pages
- Publisher: Apress; 6th ed. edition (August 27, 2012)
- Language: English
- ISBN-10: 1430242337
- ISBN-13: 978-1430242338
- Product Dimensions: 7.8 x 2.5 x 9.5 inches
- Shipping Weight: 5.2 pounds (View shipping rates and policies)
- Average Customer Review: 120 customer reviews
- Amazon Best Sellers Rank: #575,154 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.
Pro C# 5.0 and the .NET 4.5 Framework (Expert's Voice in .NET) 6th ed. Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
"Rebound" by Kwame Alexander
Don't miss best-selling author Kwame Alexander's "Rebound," a new companion novel to his Newbery Award-winner, "The Crossover,"" illustrated with striking graphic novel panels. Pre-order today
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
About the Author
Andrew Troelsen is a partner, trainer, and consultant at Intertech Inc., and is a leading authority on both .NET and COM. His book Pro C# 2005 and the .NET 2.0 Platform won the prestigious 2003 Referenceware Excellence Award and is in its third edition. Also of note are his earlier five-star treatment of traditional COM in the bestselling Developer's Workshop to COM and ATL mirrored in his book, COM and .NET Interoperability, and his top-notch investigation of VB .NET in Visual Basic .NET and the .NET Platform: An Advanced Guide. Troelsen has a degree in mathematical linguistics and South Asian studies from the University of Minnesota, and is a frequent speaker at numerous .NET-related conferences. He currently lives in Minneapolis with his wife, Amanda, and spends his free time investigating .NET and waiting for the Wild to win the Stanley Cup. You can check out his blog at AndrewTroelsen.blogspot.com.
Author interviews, book reviews, editors picks, and more. Read it now
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
This is a 1400-page book. Regardless of how good the material is on each topic and the range of topics that are covered, such a large book cannot be a start-to-finish tutorial. With such a limited index to find material, the book is almost useless.
I've been using the previous, fifth, edition. It's a great book and I gave it a five-stars recommendation. Buy the fifth edition, instead; it's still a great C# tutorial and reference with a truly first-rate index.
After such a great fifth edition, I hate to give this edition such a low ranking. I'm going to return the book, because without a good index, it will just sit on my shelf and collect dust.
I had a situation in which I needed to use the 4.6 version of the .NET Framework and thought it would be good to brush up on what had changed. Oddly enough, I had already read the previous version of this book when this edition came out a few months later. I like this book. I have read books on .NET since late 2000. Yes, going on 16 years reading books on .NET from the first beta to its current incarnation. I will admit it is exhausting sometimes reading the same things over and over again, but it is what we have to do make sure we are the newest version of a platform to good use.
This book is longer, bigger, and more in-depth than the previous version. What that means is I was hoping to get this book, having read the previous version cover to cover, and simply pick out the differences and focus in on them. Since this is an almost entirely rewritten book, I had to read this one cover to cover as well. As a bigger and longer book (I didn't count the pages), it took longer than last time. Paragraph 2 of the Introduction in the book acknowledges the fact that the book now needs two authors in order to cover the growing API in .NET.
This is an excellent book. This is not a book for experienced practitioners of .NET and C#. It is more of a thorough boot camp for those new to .NET or those who have been away from it for good while. Experienced practitioners will be better served by C# 6.0 in a Nutshell. My learning approach is different though and since I don't like to take revisions of a platform for granted. I often start my learning over from zero even with material I've applied for years. That allows me to understand specific changes in a platform in the broader context of that platform and evolve in a more streamlined way. This book accommodates that learning approach very well.
The book is superb. You can use it like a reference. I did that at times and found that aspect of the book very helpful. The best benefit will be gained reading it from beginning to end.
With this edition, you are exposed to many topics important in the contemporary use of .NET in the version 4.6 era. Some of that is going to change substantially with .NET Core, but until then, this book represents the gold standard in the description of the .NET platform. C# and .NET is a productive, and fast to code platform that is very useful in business IT as well as proven in web deployments such as StackOverflow. This book provides great detail in the many aspects of .NET you may find useful in business IT and other domains.
One of the things I did not like about the book is the use of the word ... new. The word new was used several times to declare a given feature of .NET as new technology or a new feature altogether. Rarely, did adjective fit. After 16+ years of .NET, new is hardly a fitting adornment to several aspects of the platform. The use of the word new may be an oversight in carrying text forward from earlier editions.
Given the direction of .NET, a few of the following chapters could easily disappear from the next edition: Chapters 16, 18, 22, 31 - 33. We will get to start again with a new edition probably. The book will be out of date in a few months and that is to be expected. Yet, the writing in this edition sets a good example concerning an extended description of C# and the .NET platform.
THE REVIEW FOR: C# 5.0 and the .NET 4.5 Framework (My review of the previous version of the book)
Other reviews say this is the best book on .NET and I do agree. My review is about my experience with the book which was quite favorable. It is a book designed to build greater competence with the .NET technologies.
I wrote my first real C# application in late 2001. Used C# and .NET for over 13 years in a professional setting mostly with SQL Server. In the first years you learn and apply a technology, you easily recall all the written points of view about it. Eventually, you achieve unconscious competence where you can use the technology in a state of flow. Very little need to look up certain things. Concepts you previously had to visualize in an unambiguous way you now express at the level of instinct. Shortly thereafter, I think a condition develops called technical vocabulary rot. A condition in which you may not say words like encapsulation or describe the by the book flow between an OS, a run time engine, and a web framework but you build solutions at the level of deep understanding.
Eventually, you have to communicate with others, share ideas, mentor new takers on to the current revision of the technology or interview for a position. It helps to have a guide to work through the finer points of description that had melted into the background. The .NET system has been around for a while and Andrew Troelsen's work here goes far to communicate the C#, most parts of .NET, and even application frameworks like WPF, WWF, ASP.NET and others in a way that is highly receptive to those with experience in these technologies. I will admit, I skipped over some chapters. When you have read 4 or 5 books on WPF, the same number for ADO.NET and dozens for ASP.NET, even when it was years ago, sometimes you don't have the heart to reread that material in-depth again. The vast majority of the book though is a thorough refresher for those who need to reacquaint themselves with the vocabulary, description, and rationale of many parts of .NET.
Is this a book for beginners? I wanted to think so. I know there are books with the words beginner in the title. An appealing aspect of this book is that it is comprehensive and the language is clear. The book is very well written. The author clearly has experience either explaining things or explaining this topic. A beginner could approach this book but in most cases I can see failure. The book is easy enough for someone with experience in the topic to digest. In some cases, I had to constrain myself from skipping ahead since each chapter has a gradual structure. I would not recommend this book to beginners however, though there could be exceptions, as this book has more material than maybe is productive to absorb.
A future edition of the book could be improved in a few ways. The easiest improvement would be in a slight adjustment to the language. There is an element of promoting or evangelizing the .NET technology. A book by the title, Introducing .NET or some current derivation does a great job of that but in a reference book, this kind of info could be consolidated into one chapter that summarized all the great points about the various technologies.
Another area of improvement concerns current technical practice. The book went to great pains to explain the older ways of applying .NET and although some of us can appreciate it, that exposition adds unnecessary length. Rather than explain the asynchronous nature of delegate, then going through threads, and then use of the thread pool, it may have been more useful to look only at the most high level abstractions for asynchronous dispatch. The same could be said for removing the chapters on ADO.NET and just doing Entity Framework.
It brings up a larger question. What is .NET in reality? Is it the core services, base class library, CTS and CLS? Does it include the application frameworks like those that come into and go out of wide acceptance like ASP.NET WebForms vs MVC? This book emphasizes WebForms which seems to have gone into disuse. A book like this could be extremely useful if it was far more focused on core .NET with expanded discussion of algorithms, design methods, and general coding practice. The application frameworks have dedicated books and like the application frameworks themselves, come into and go out of wide acceptance. A book structured along the lines suggested could remain more widely useful over a longer period.
Despite what I present as detractors, I still fully recommend this book. I had it for a while but only recently got around to reading it. I read it mainly out of curiosity to see what I remembered and what I could still learn. I had published a series of web articles on how to do cross-platform ASP.NET using HttpHandlers and that had rekindled my interest in using the appropriate .NET vernacular. I was greatly pleased with the information and there is a certain perspective in the book that I think is a good thought process in action. Chapter 18 will be very useful if you go through it in a fully engaged way.
Andrew Troelsen did a great job explaining the .NET system. His book has strong focus and solid explanations. The material flows very well.
Programming inconsistencies are great when they show you different ways of doing things. They are really annoying when they serve no purpose. I do like that you throw things in that show me something I did not know about, like Path.Combine().
Also, I would really like to see authors use code examples that show modern coding conventions. I got half way through Pro C# before the author noted that he had changed Form1 to MainForm (not frmMain) but he still used btnExecute instead of ExecuteButton. I know that Hungarian Notation is still considered acceptable in some situations, like naming Windows controls, but "ExecuteButton" is less cryptic than "btnExecute" and I am not sure grouping things by type name (putting the type name first) instead of instance name (e.g. "ButtonExecute" instead of "ExecuteButton") is productive in a world where you have complex types (e.g. "Button.Execute").
The reason I decided to write this review, though, is to suggest a change to how async and await are introduced. "This task will cause the calling thread to sleep..." does not make sense to me since the calling thread does not appear to sleep at all. I can continue interacting with it by typing text in the input textbox while the task runs in the background. I have not figured out how it works but it makes me think of the yield statement where a method remembers its state and resumes where it left off the next time it is called. It's more "This task will cause me [the async method] to remember my state and return to the caller only to resume on the calling thread where I left off once the task completes." It's the multi-threaded version of the yield statement (await = yield). It is pretty cool that it works, though.
These are just wish-list comments, though. Pro C# is a much easier read than more recent text on .Net programming.