Professional C# 4.0 and .NET 4
Format: PaperbackChange
Price:$35.70+Free shipping with Amazon Prime
Your rating(Clear)Rate this item


There was a problem filtering reviews right now. Please try again later.

25 of 27 people found the following review helpful
on March 30, 2010
C# and .NET are reintroduced in this one book for the 2010 audience of programmers. The two subjects are wedded in the text to form one complete reference. I have just finished reading this book and I can tell you that it will take another two readings to fully absorb the contents because of the numerous details. At just over 1400 pages, this is a compendium of the two programming areas that has enormous scope. I am impressed that the authors and the publisher were able to complete this project before the release of the two in April. Operations specific to the .NET v4 release are noted in the text.

I found the information in this book to be comprehensive and detailed in many ways. With 47 chapters and an appendix this book is going to be the cornerstone of my .NET computing from this time on. My previous references are getting dated and don't give me enough information to pass the employment interviews. This book and one other are going to be my entire reference library for C# programming in general.

I found the information to be very well written to the point that even after six years of using C# it increased my knowledge and understanding of this wonderful new computer language. I have over a dozen books on .NET and C# in my library and this is the best written of them all. For this reason I am giving it 5 stars. I believe that this is the best introduction to these two subject areas

Of course, if you want to work in depth on one of the chapters covered in this book, another reference that expands on the material will be required.
1616 commentsWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
11 of 12 people found the following review helpful
on July 14, 2010
When Microsoft decided to step into the managed code arena in 2002, many people were skeptical. It seemed that Microsoft was addressing their inability to gain a foothold in the Java world by attempting to replace Java with their own version of a managed code language.

Over the next eight years, skepticism has died down as Microsoft has remained committed to supporting C#, managed code, and the .Net framework, and in the course of that support has released several versions of both the framework and the language, with each major release supporting exciting new features like generics, LINQ, and, in the .Net Framework Version 4, dynamic typing.

With each version, Christian Nagel and his coauthors have released a massive tome describing as many aspects of the framework and the language as they can fit in. The latest release, coming in at more than 1400 pages, is a comprehensive look at all the major aspects of C# and the .Net Framework, and many of the minor aspects as well. Wrox was kind enough to send me a copy of the book to review.

The book is divided into six parts. The first covers the basic aspects of C#, and the second covers Visual Studio. Then, the four remaining sections cover the majority of the .Net framework, the managed code assemblies that handle, for the Windows platform, almost any low-level task a developer would need to perform. The final four parts are: Part 3, fundamental objects; part 4, data access; part 5, GUI's; and part 6, communication. Experts will note immediately that the later sections cover both the "older" and "newer" styles of coding, e.g., part 5 discusses Windows Forms as well as Silverlight and Asp.Net MVC, while part 6 covers the Windows Communication Foundation.

Developers who want a quick overview of what's new in version 4.0 of the framework should probably look elsewhere. A couple of pages in the introduction cover the new features, but through the rest of the book, new features are not clearly denoted in any way. This book is definitely a reference to the entire framework, not a tutorial on using the C# 4 new features.

Chapter 1 is titled ".Net Architecture". It gives an overview of exactly what Microsoft is trying to accomplish with the framework, and goes into the mechanisms of translating a C# program into running code by means of the Common Language Runtime (CLR), Intermediate Language (IL), and the Just-In-Time Compiler (Jitter). Important features of IL that are commonly found in higher-level languages are covered, such as objects and interfaces, garbage collection, and exceptions. An overview of different types of programs that can be created with the .Net framework is given.

Chapter 2, then, starts the discussion of C#. Creating a "Hello, World" program is the initial demonstration, and the authors show how to do this using a text editor and a command-line compiler. Then the basics of creating programs are covered - loops, conditionals, and using statements. A list of every C# reserved keyword is given. Chapter 3 covers classes and structures, with constructors, member functions, and statics, and the base Object class that all other classes derive from. This leads directly into inheritance and interfaces in chapter 4, along with public, private, and internal modifiers,

Rolling along in C#, Chapter 5 covers generics, the ability to create methods and classes that work on any type of object. Two new C# features are introduced and explained: covariance and contravariance. Chapter 6 covers arrays, with some discussion of the building blocks that lead to the power of LINQ, including the IEnumerable interface, and the "foreach" and "yield" keywords. Chapter 7 covers operators, including the casting operators "is" and "as", nullable objects,and boxing, a bit of complexity for converting between value objects and reference objects. Quite a bit of attention is given to operator overloading and user-defined casts, not necessarily the most useful features of the language.

Chapter 8 begins coverage of some of the more functionally-oriented aspects of C#, such as delegates and lambda expressions, but chapters 9 and 10 return to fundamentals: strings, queues, bit vectors, and regular expressions. Chapter 11 finally introduces LINQ, and a new feature, Parallel LINQ, which provides developers with the ability to use multiple threads when processing a loop.

Chapter 12 is also on a new feature, the "dynamic" type. Dynamics are types that bypass standard compile-time checking, so you can call methods and set properties on them that are not defined in the type. The authors actually show the IL that is generated when you use a dynamic type.

Chapter 13 discusses memory management. In most cases, this topic does not come up as an issue as the C# garbage collector handles everything automatically. However, issues arise often enough that careful study of this chapter is a useful exercise for any developer with a serious interest in the .Net framework. The stack and heap are covered, along with finalizers and the IDisposable interface, and also techniques for direct access of memory (which is highly discouraged in just about all cases).

Chapter 14 covers reflection, the ability to examine the structure of an object at runtime, and chapter 15 is on exception handling. This concludes the basic discussion of C#.

Chapters 16 and 17 are on Visual Studio. A few of the different project type options are discussed, and a few of the options, but certainly Visual Studio is complex and powerful enough to deserve its own book, so only the very basics are covered here. Building an application, debugging, and configuration are discussed, along with deployment options.

Part 3 of the book is titled "Foundation", but it's really a mishmash of several topics of specialized interest. Most applications will require usage of one or more of these items at some point, so developers will need to know of their usage, but one could easily write a game of Tetris without reading any of these chapters. Topics covered include assemblies (global registration and versioning), logging (tracing and performance monitoring), security, localization, interacting with COM and native API's, and file and registry reading and writing.

One chapter is devoted to threads, which have had quite a bit of work done on them. The new Task library is covered, as well as parallel looping, and a new framework for cancelling long-running tasks. Also, Code Contracts are covered as part of the logging and diagnostics chapter.

A chapter on networking is included, and in 2010 every programmer should know how to request a file from the web in some language or other. This information is covered, along with techniques for embedding web pages into applications, and direct socket programming. These concepts are less globally useful, but the chapter on Windows Services is interesting.

Two chapters are devoted to rather unique aspects of the .Net framework: XAML, and MEF. XAML, an XML-based language that is generally used for display markup, has undergone quite a few enhancements for .Net 4, and this chapter is unusually clear in explaining which features are new to this version. MEF, the Managed Extensibility Framework, is a mechanism for writing application plugins.

Part 4 is about data. One chapter is devoted to ADO.Net, which can be comfortably skipped except by die-hards, because another chapter is devoted to the Entity Framework, Microsoft's entry into the object-relational mapping arena. Many developers may already be using another ORM such as NHibernate, but EF offers many nice abstractions over ADO.Net, so it is a more than plausible choice for an ORM. Other chapters cover XML manipulation, creating data webservices using the WCF framework, and coding in C# for SQL Server.

In part 5, all the building blocks come together to actually display things on the screen. While the choices for display really come down to either a standalone application or a browser, every technology Microsoft has developed for display is here. For developing a new application, the important things to know are: basic WPF and the XAML layout required to display things like textures and animations; data display and validation; Silverlight, Microsoft's strategy for displaying rich interactions in a browser; and Asp.Net MVC, basic HTTP request routing. These subjects are covered in chapters 35, 36, 38, and 42. The other chapters have some useful information, such as creating documents for screen display and printing, Ajax, and master pages, but for the most part they can be skipped over. They cover almost every technology that Microsoft has ever developed for presentation, and are really only presented for completeness.

Part 6 is on communication. A good overview of WCF is given, but this might be the only important chapter in the section. Other chapters cover Windows Workflow Foundation, which is an interesting technology but not one with proven value; some classes designed to work with P2P applications, RSS feeds, and message queuing.

Overall, this book has a spectacular amount of reference material. On top of the nearly 1500 pages of text and examples, there are several chapters available online for items the authors thought were important but didn't make it into the book. However, the authors have not made it simple to determine which topics are important or new, and which can be safely relegated to someday. It's easy to jump into the book and find yourself struggling to understand concepts like user-defined casting or ADO.Net, which many developers neither need nor want to understand. Yet, these are given equal billing with truly important and useful techniques like lambda expressions and the Entity Framework.

But there is no question that almost anything you would need or want to know about the .Net framework is in this book. It is a wonderful reference, and for any given topic, one can turn to the section and get a comprehensive overview of it. Given time, or a good teacher, a developer can become an expert in .Net from this book.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
7 of 7 people found the following review helpful
on June 28, 2010
First, let me disclose that I got a free version of this book in order for me to review it.

I think other reviewers were correct that this book covers a great deal of topics but it does not go too deep. But if you only buy one book a year, this will touch a little bit of everything you might need.

I was most looking forward to the very first part of the book, "The C# Language" because I really wanted to know what had changed from the previous version. Unfortunately, the latest changes and additions are not really separated into their own chapters and instead, you are given an entire overview of the language. If nothing else, I always find it beneficial to review important concepts that I may have forgotten about.

I also was excited to see a couple of chapters about Visual Studio 2010 and Deployment, but again, there is not much depth.

On a positive note, the book does cover quite a bit of new topics that I at least wanted to have some knowledge about such as Managed Extensibility Framework, XAML, WPF, Silverlight, WCF, and Workflow Foundation 4. Since I may not be working with these technologies any time soon, an overview chapter is suffice.

And you can never go wrong with a ton of downloadable code examples.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 3 people found the following review helpful
on June 20, 2010
I purchased many books on C# and Visual Studio to insure I had detailed information available to avoid the frustration of searching help or the web for rarely used features. This book turned out to be the best of them and the only one I now use. Many of the others left out features or they gave a poor or incomplete description how to use them.

You can use this book to teach yourself C# 4 and Visual Studio 2010 or as an excellent reference for those features you have not used to date.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
1 of 1 people found the following review helpful
on March 8, 2011
Professional C# 4 and .NET 4 takes readers on an extensive journey through all the useful capabilities this comprehensive language and framework have to offer. Thankfully, the book not only covers the language and the technology, but also the tools essential for effective software development.

The book opens with a introduction to the C# language, walking through the .NET architecture, core elements of C#, inheritance, generics, delegates and LINQ. After a thorough introduction to the language, the book continues on to the practical aspect of development using Visual Studio 2010 and covers essential elements such as application deployment.

The rest of the book focuses on advanced features of the C# language including assemblies, threading, localization and windows services. Part IV specifically focuses on Data, the Entity Framework and XML. Part V touches on presentation covering WPF, Silverlight, Windows Forms and MVC. The final chapters concentrate on communication and WCF. There are also several online chapters focusing on Visual Studio Tools, Enterprise Services, Directory Services and Web Services.

There are many useful notes and tips interspersed throughout the book; a sure sign of years of experience. I found the book's extensive chapters on the C# language most useful for understanding what's new, what's old and what components could be most effective in the future.

Overall, if you want a comprehensive reference on all things related to C# 4 and .NET 4, this a great place to start.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
1 of 1 people found the following review helpful
on January 30, 2014
I bought this book shortly after I got a job as a C# developer. I was transitioning from Java, and a coworker recommended this book. It's just too dense to be a practical guide to learning C#, though. And it feels like it was written by a committee, which it was. Too many cooks spoil the soup, or something like that. This book has way too many under-informed personal opinions. It's pretty myopic, and spends way too much time explaining how the latest C# and .NET are better than previous technologies from Microsoft, with very little accurate information about how they are similar to (or better than) other software development technologies.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 4 people found the following review helpful
A very comprehensive book on the subject, althought it seems a mile wild and an inch deep. On the other
hand, if it were any other way they would have to charge thouosands of dollars in shpping, considering
the size of the zrea they tackled. It's still very useful, even though it dosen't go as deeply into things
as I would like. As a reference to have around when you need refreshing on some area it can't be beat,
as it's absolutely perfect for that.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
on June 4, 2012
The entire book not only cover new features for both C# 4.0 and .Net 4, also review architecture of .Net and C# to give you the background for writing managed code. If you are new to C#, this book is a good reference for you. You should be able pick up and write your first C# app easily. If you are a .Net developer and want to find out only new features, you may be overwhelmed with lots of existing basic C# and .Net core. The book is well organized. All features explanations are illustrated by sample code right after that.You can download sample code from publisher as well.

One of the interesting features was Covariance and Contra variance. Generics were added in C# 2.0 which however did not allow type conversion.e.g There is no conversion from List<X> to List<Y> even if X is derived from Y. The new concept of Covariance and Contra variance allows this conversion which provide greater flexibility in assigning and using generic types. Another good feature was DLR for dynamic operation..

The feature that I did not like was optional parameters. This was introduced in VB. It may help when work with interop. But I think overloaded method providing clearer code in C#.

Generally, it is good reference book for .Net developer. I took off one star because I was expecting the book focus in depth only new C# 4.0 and .Net 4 without going through lengthy basic stuff for beginner.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
on May 2, 2015
There is exactly one good thing about this book. The book full of good code examples. However, this book is merely a regurgitation of the MSDN. Code examples are plentiful and free on MSDN. I would suggest you save your money.

I already know C# and use it daily at my job, and picked up this book since it was required for my grad class. Yes, this book is very thorough in its coverage of topics. But it is an extremely dry read, and it is unnecessarily wordy and unclear. It also presents the material in a way that is extremely difficult to understand. I'll agree that some of the topics in this book are more advance (as most people are quick to point out that this is geared towards the professional), but the book does not do anything to help learning easier.

Of the glowing 5-star reviews for this book, I suspect that these are from professional book reviewers. The reviews seem suspiciously full of market-y words and do not mention anything about actually using the book.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
on February 26, 2013
I think everything you need about C# 4 and .NET 4 you can find inside this book.
The book deals a lot of tecnologie not only C#: Wcf,Wpf, Parallel programming, Threads, Task, Reflection ecc and of course Visual Studio 2010.
Wrox is my best book collection and I really appreciate this Book!
A new version of this book is now available.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.