C# 3.0 Unleashed: With the .NET Framework 3.5 and over one million other books are available for Amazon Kindle. Learn more
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image
Have one to sell? Sell on Amazon

C# 3.0 Unleashed: With the .NET Framework 3.5 Paperback – August 2, 2008

ISBN-13: 978-0672329814 ISBN-10: 0672329816 Edition: 1st
Buy used
Condition: Used - Good
In Stock. Sold by betterworldbooks_
Condition: Used: Good
Comment: Shows some signs of wear, and may have some markings on the inside. 100% Money Back Guarantee. Shipped to over one million happy customers. Your purchase benefits world literacy!
Access codes and supplements are not guaranteed with used items.
+ $3.99 shipping

Used & new from other sellers Delivery options vary per offer
40 used & new from $0.96
Amazon Price New from Used from
"Please retry"
Paperback, August 2, 2008
"Please retry"
$24.96 $0.96
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Hero Quick Promo
Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now

Editorial Reviews

About the Author

Joe Mayo has more than 21 years of software engineering experience and has worked with C# and .NET since July 2000. He regularly contributes to the community through his website, C# Station, which has been running since July 2000. He enjoys giving presentations on .NET, and you can occasionally find him online in a forum or newsgroup, doing what he loves to do–talking about .NET. For his community service over the years, he has been a recipient of multiple Microsoft Most Valuable Professional (MVP) awards. These days, Joe makes a living through the company he founded, Mayo Software Consulting, Inc., delivering value to customers through custom .NET software development services.

Excerpt. © Reprinted by permission. All rights reserved.



Welcome to C# 3.0 Unleashed, a programmer's guide and reference to the C# (pronounced "C sharp") programming language. C# is primarily an object-oriented programming language, created at Microsoft, which emphasizes a component-based approach to software development. In its third version, C# is still evolving, and this book guides you on a journey of learning how that evolution helps you accomplish more in your software engineering endeavors.

C# is one of several languages of the .NET (pronounced "dot net") platform, which includes a runtime engine called the Common Language Runtime (CLR) and a huge class library. The runtime is a virtual machine that manages code and provides several other services. The class library includes literally thousands of reusable objects and supports several user interface technologies for both desktop and Web Application development.

C# is evolving as a programming language. It began life as an object-oriented, component-based language but now is growing into areas that were once considered the domain of functional programming languages. Throughout this book, you'll see examples of objects and components being used as building blocks for applications. You'll also see many examples that include Language Integrated Query (LINQ), which is a declarative way to query data sources, whether the data source is in the form of objects, relational, XML, or any other format.

Just as C# (and the .NET platform) has evolved, so has this book. C# Unleashed began as a language-centric learning guide and reference for applying the C# programming language. The audience was varied because C# was new and developers from all types of backgrounds were programming with it. All the applications compiled on the command line, and all you needed was the .NET Framework SDK and an editor to do everything.

At its essence, the same concepts driving the first version of this book made it into this version. For example, you don't need to already know .NET before getting started. If you've programmed with any programming language, C# 3.0 Unleashed should be an easy on-ramp for you. This book contains a few command-line examples, especially in the beginning, because I believe that using the command line is a skill that is still necessary and useful. However, I quickly move to the Visual Studio 2008 (VS2008) Integrated Development Environment (IDE) for the largest share of the rest of the book. You aren't required to use VS2008, however; I show you right away how to build your applications without it, and Appendix A, "Compiling Programs," is a guide to command-line options with examples (just like the first version of C# Unleashed). However, VS2008 is an incredible tool for increasing productivity, and I provide tips throughout this book for cranking out algorithms with code-focused RAD.

In addition to coverage of VS2008, I've included several new chapters for the newest technologies, such as Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), and AJAX. If you like the cutting edge, there are chapters on the ADO.NET Entity Framework and ADO.NET Data Services. Speaking of data, I've added an entire part of this book with multiple chapters on working with data.

Since July 2000, when I cracked open the first public pre-beta release of .NET, I've been hooked, with C# as my language of choice. I've made a good living and found my C# skills in demand, even in a difficult economy. Most of all, I've gained an enormous amount of experience in both teaching, as a formal course instructor, and as a developer, delivering value to customers with an awesome toolset. I hope that all the gotchas, tips, and doses of reality that I've encountered and shared in this book will help you learn and thrive as I have.

Why This Book Is for You

If you've developed software in any other computer programming language, you will be able to understand the contents of this book with no trouble. You already know how to make logical decisions and construct iterative code. You also understand variables and basic number systems such as hexadecimal. Novices may want to start with something at the introductory level, such as Sams Teach Yourself C# in 21 Days. Honestly, ambitious beginners could do well with this book if they're motivated.

This is a book written for any programmer who wants to learn C# and .NET. It's basic enough for you to see every aspect of C# that's possible, yet it's sufficiently advanced to provide insight into the modern enterprise-level tasks you deal with every day.

Organization and Goals

C# 3.0 Unleashed is divided into eight parts. To promote learning from the beginning, it starts with the simpler material and those items strictly related to the C# language itself. Later, the book moves into other C#-related areas, showing how to use data, user interface technologies, web services, and other useful .NET technologies.

Part 1 is the beginning, covering basic C# language syntax and other essentials. Chapter 1 starts you off by discussing the .NET platform. This is an important chapter because you need to know the environment that you are building applications for. It permeates everything else you do as a C# developer and should be a place you return to on occasion to remind yourself of the essential ingredients of being a successful C# developer. In Chapter 2, you learn how to build a simple C# application using both the command line and VS2008. It is just the beginning of much VS2008 coverage to come. Chapter 3 is another essential milestone for success in developing .NET applications with C#, learning the type system. Chapters 4 and 5 show you how to work with strings and arrays, respectively. By the time you reach Chapter 7, you'll have enough skills necessary to write a simple application and encounter bugs. So, I hope you find my tips on using the VS2008 debugger helpful before moving on to more complexity with object-oriented programming in Part 2.

Part 2 covers object and component programming in C#. In the first version of C# Unleashed, I dedicated an entire chapter to basic object-oriented programming concepts. What changed in C# 3.0 Unleashed is that I weaved some of those concepts into other chapters. This way, developers who already know object-oriented programming don't have to skip over an entire chapter, but those who don't aren't completely left out. Mostly, I concentrate on how C# implements object-oriented programming, explaining those nuances that are of interest to existing object-oriented programmers and necessary for any C# developer.

Part 3 teaches you some of the more advanced features of C#. With an understanding of objects from Part 2, you learn about object lifetime—when objects are first instantiated and when they are cleaned up from memory. An entire body of knowledge builds upon earlier chapters, leading to where you need to be to understand .NET memory management, the Garbage Collector, what it means for you as a C# developer, and mostly, what you can do to ensure that your objects and the resources they work with are properly managed.

Part 4 gives you five chapters of data. Feedback from the first version of this book indicated that you wanted more. So, now you can learn about LINQ to Objects, LINQ to SQL, ADO.NET, LINQ to DataSet, XML, LINQ to XML, ADO.NET Entity Framework, LINQ to Entities, ADO.NET Data Services, and LINQ to Data Services. Really, five chapters aren't the end of the story, and there is good reason why I moved data earlier in the book: I use LINQ throughout the rest of the book. In addition to learning how to use all of these data access technologies, you'll see many examples in the whole book.

Part 5 demonstrates how to use various desktop user interface technologies. You have choices, console applications, which were beefed up in .NET 2.0, Windows Forms, and WPF. By the way, if you are interested in Silverlight, you'll want to read the WPF chapter first because both technologies use XAML, the same layout, and the same control set. Not only does it help me bring more information to you on these new technologies, but it also should be comforting that what you learn with one technology is useful with another, expanding your skill set as a .NET developer.

Part 6 teaches you how to build web user interfaces. ASP.NET is the primary web UI technology for .NET today, and I provide a fair amount of coverage to help you get up-to-speed with it. You'll want to pay attention to the discussion of the difference between desktop and web applications because it affects how you develop ASP.NET applications. In recent years, Asynchronous JavaScript and XML (AJAX) has become a hot topic. I show you how to use ASP.NET AJAX, which ships with VS2008, to make your ASP.NET pages more responsive to the user. The newest web UI technology is Silverlight, which enables you to build interactive websites that were once only possible with desktop UI technologies. A couple of the new capabilities of Silverlight are easier ways to play audio and video on the web and animation; these new capabilities allow you to build web experiences similar to Adobe Flash.

Part 7 brings you in touch with various communications technologies. In a connected world, these chapters teach you how to use essential tools. You learn how to use TCP/IP, HTTP, and FTP, and send email using .NET Framework libraries. The remoting chapter is still there, as is the web services chapter. However, an additional chapter covers the new WCF web services.

Part 8 covers topics in architecture and design. Many programmers learn C# and all the topics discussed previously and then find their own way to build applications with what they've learned. If they find an effective way to build applications, then that is positive. However, it's common for people to want to know what the best way is for putting toge...


Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Paperback: 1056 pages
  • Publisher: Sams; 1 edition (August 2, 2008)
  • Language: English
  • ISBN-10: 0672329816
  • ISBN-13: 978-0672329814
  • Product Dimensions: 7 x 2.1 x 9.1 inches
  • Shipping Weight: 3.6 pounds
  • Average Customer Review: 3.8 out of 5 stars  See all reviews (12 customer reviews)
  • Amazon Best Sellers Rank: #315,075 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

3.8 out of 5 stars

Most Helpful Customer Reviews

7 of 7 people found the following review helpful By R. F. Gould on August 23, 2008
Format: Paperback
This is another well written book on C# .NET by Joe Mayo. I've been coding with the .NET framework and C# for the last couple years and consider my skills to be intermediate. C# 3.0 Unleashed is a great addition to my resource library and I reference it frequently for core and 3.5 framework functionality.

I'd recommend this book for C# beginners as well as intermediate/expert level programmers. The topics and chapters are arranged in the proper order for natural progression and are easy to follow containing many solid coding samples.

I look forward to continuing to learn C# .NET and its new additions with this book as my pilot.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
12 of 15 people found the following review helpful By GoldwingDocs on November 23, 2008
Format: Paperback Verified Purchase
I am a 20-year veteran programmer who needs to transition from VB to C#. On the recommendation of a few peers, I bought this book.

My first observation: This book is obviously written by an expert who has no business attempting to write an introductory book. This book is NOT FOR BEGINNERS. If you are a beginner programmer and are contemplating buying this book to learn C#, save your money. The author simply makes far too many jumps and leaves too many gaps - skipping over things that are no problem for me, and that he obviously didn't think to explain - but that will leave a beginning programmer mystified.

The layout of the book is good, and the progression is what you would expect. For me, the book was an excellent "here's what you need to know about C#" book. Some of the chapters I was able to skip entirely. However, in my opinion, the author has simply tried to cram too much stuff into 1300(!) pages, meaning that every topic is briefly discussed, with no real detail on anything. This book will be useless as a reference book in the future, because it does not go into enough depth, and doesn't completely cover every topic.

So for me, it was a good book to get me up to speed. But it does have one SERIOUS PROBLEM: Errors. Whoever did the editing on this book should be fired. The number of blatant errors I found in even just the first few chapters are obscene. Things like diagrams listed in the wrong order, code snippets with missing or incorrect lines, or just outright wrong or contradictory information in the text. Several times I found myself puzzling over trying to comprehend some information that the author was attempting to convey, only to discover that the reason I wasn't "getting it" is because of an error in the book.
Read more ›
2 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
6 of 7 people found the following review helpful By Matt van Andel on August 25, 2008
Format: Paperback Verified Purchase
Want to learn C#? This is an excellent place to start. Joe Mayo has outdone himself with a book that not only makes an excellent C# reference for veteran developers, but is also THE ideal learning tool for absolute beginners. The biggest hurdle for burgeoning developers is getting past all the new lingo, and most authors seem to blithely forget that fact. Not this one. Every time a new term pops up, it's carefully explained. Not just that "what" either, but the "why." I'm often disappointed by reference books, especially ones regarding programing languages... they're expensive while generally being both cryptic and incomplete. However, C# 3.0 Unleashed is just so logically and intuitively organized that it's a wonder every other reference book isn't laid out exactly like this one. For those looking for some LINQ help, there's several sections specifically dedicated to LINQ in it's various forms (LINQ to SQL, LINQ to SQL)... although, for completionists, ADO.NET is also covered. The only down side? It's not available on Kindle yet!

Whether you're interested in learning C#, just brushing up on your programming skills, or are looking for an easy-to-read, well-organized reference - give this book a serious look!
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
5 of 6 people found the following review helpful By Rick Harrison on November 14, 2008
Format: Paperback
This book not only covers all of the basics of C#, but also all of the new features in 3.0 and some very good information on best practices. He covers Design Patterns and N-Tier applications. If that weren't enough, it gives tons of information on all of the major .Net technologies like Lambda expressions, LINQ, ADO.NET, using XML, ADO.NET, Windows Forms, WPF, ASP.NET, Ajax, Silverlight, WCF, Windows Services, Remoting, Web Services, WF, Threading, Localization, Globalization, P/Invoke and COM, Unsafe code, Profiling, Debugging, Assemblies and Versioning, Securing Code and even writing custom Setup programs and deploying web sites. These are not just overviews. Everything is well explained and gives enough practical detail to actually get you using all of these technologies in real applications. It is virtually a library of .Net information.

Soon after I got this book, I had a project that required an ASP.NET website, a web service, LINQ to SQL, a windows service, a small desktop application that communicated with the service, some P/Invoke calls and an install program that installed the windows service and started it up automatically. It also had to install some device drivers. Many of these things were new to me, but this book got me through the project and made it a joy.

Joe manages to keep everything simple and to the point. He goes into enough detail to get you going on each subject to the point where you can find out the rest easily. I own several C# books. This one is by far the best.

Rick Harrison
Freelance Software Consultant
KnowWare, Inc.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews