Essential C# 2.0 and over one million other books are available for Amazon Kindle. Learn more


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Kindle Edition
 
   
More Buying Choices
Have one to sell? Sell yours here
Essential C# 2.0
 
 
Start reading Essential C# 2.0 on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Essential C# 2.0 [Paperback]

Mark Michaelis (Author)
4.8 out of 5 stars  See all reviews (15 customer reviews)

List Price: $64.99
Price: $47.44 & this item ships for FREE with Super Saver Shipping. Details
You Save: $17.55 (27%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 2 left in stock--order soon (more on the way).
Want it delivered Wednesday, February 1? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
Kindle Edition $41.07  
Paperback $47.44  
There is a newer edition of this item:
Essential C# 4.0 (3rd Edition) (Microsoft .NET Development Series) Essential C# 4.0 (3rd Edition) (Microsoft .NET Development Series) 4.2 out of 5 stars (16)
$27.57
In Stock.

Book Description

0321150775 978-0321150776 July 23, 2006 1

A new edition of this title is available, ISBN-10: 0321533925 ISBN-13: 9780321533920

 

 

        “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.

Essential C# 2.0 is a clear, concise guide to C#–including the features new to C# 2.0. The book clearly presents material for beginners and experts and provides contrasts and comparisons between C# and other languages. The C# language is covered comprehensively and each important construct is illustrated with succinct code examples. Complete code examples are available online. Mark Michaelis has organized the material for quick access. Graphical “mind maps” at the beginning of each chapter show what material is covered and how each topic relates to the whole.

Following the C# introduction, readers will learn about

  • C# primitive data types, value types, reference types, type conversions, and arrays
  • Operators and control flow, loops, conditional logic, and sequential programming
  • Methods, parameters, exception handling, and structured programming
  • Classes, inheritance, structures, interfaces, and object-oriented programming
  • Well-formed types, operator overloading, namespaces, and garbage collection
  • Generics, collections, and iterators
  • Reflection, attributes, and declarative programming
  • Threading, synchronization, and multi-threaded patterns
  • Interoperability and unsafe code
  • The Common Language Infrastructure that underlies C#

C# 2.0 has a multitude of new features that make the language even more powerful, productive, and efficient. These new features are thoroughly covered in this book. A separate appendix on C# 2.0 topics helps readers quickly find new features of the language.

Whether you’re just starting out as a programmer, are an experienced developer looking to learn C#, or are a seasoned C# programmer interested in learning the new features of C# 2.0, Essential C# 2.0 gives you just what you need to quickly get up and running writing C# applications.




Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Customers Who Bought This Item Also Bought


Editorial Reviews

About the Author

Mark Michaelis is an enterprise architect and trainer at Itron Corporation and an IDesign architect specializing in Windows Communication Foundation (WCF) and Visual Studio Team System (VSTS). Since 1996, Mark has been recognized as a Microsoft MVP for areas such as C# and VSTS, and he serves on several Microsoft software design review teams, including C#, WCF, and VSTS. He holds an M.S. in computer science from the Illinois Institute of Technology, speaks at developer conferences both nationally and internationally, and has written several other books and articles.

Excerpt. © Reprinted by permission. All rights reserved.

Throughout the history of software engineering, the methodology used to write computer programs has undergone several paradigm shifts, each building on the foundation of the former by increasing code organization and decreasing complexity. This book takes you through these same paradigm shifts.

The beginning chapters take you through sequential programming structure in which statements are written in the order in which they are executed. The problem with this model is that complexity increases exponentially as the requirements increase. To reduce this complexity, code blocks are moved into methods, which creates a structured programming model. This allows you to call the same code block from multiple locations within a program, without duplicating code. Even with this construct, however, programs quickly become unwieldy and require further abstraction. From this emerges object-oriented programming, which Chapter 5 discusses. In subsequent chapters, you continue to learn about additional methodologies, such as interface-based programming, and eventually rudimentary forms of declarative programming (in Chapter 14) via attributes.

This book has three main functions.

  • It provides comprehensive coverage of the C# language, going beyond a tutorial and offering a foundation upon which you can begin effective software development projects.
  • For readers already familiar with C#, this book provides insight into some of the more complex programming paradigms and provides in-depth coverage of the features introduced in the latest version of the language, C# 2.0.
  • It serves as a timeless reference, even after you gain proficiency with the language.

The key to successfully learning C# is to start coding as soon as possible. Don’t wait until you are an “expert” in theory; start writing software immediately. As a believer in iterative development, I hope this book enables even a novice programmer to begin writing basic C# code by the end of Chapter 2.

A number of topics are not covered in this book. You won’t find coverage of topics such as ASP.NET, ADO.NET, smart client development, distributed programming, and so on. Although these topics are relevant to the .NET framework, to do them justice requires books of their own. Fortunately, Addison-Wesley’s Microsoft .NET Development Series provides a wealth of writing on these topics. Reading this book will prepare you to focus on and develop expertise in any of these areas. It focuses on C# and the types within the Base Class Library.

Target Audience for This Book

My challenge with this book was how to keep advanced developers awake while not abandoning beginners by using words like “assembly,” “link,” “chain,” “thread,” and “fusion,” as if the topic was more appropriate for blacksmiths than for programmers. This book’s primary audience is experienced developers looking to add another language to their quiver. However, I have carefully assembled this book to provide significant value to developers at all levels.

  • Beginners: If you are new to programming, this book serves as a resource to help transition you from an entry-level programmer to a C# developer, comfortable with any C# programming task that’s thrown your way. This book not only teaches you syntax, but it also trains you in good programming practices that will serve you throughout your programming career.
  • Structured programmers: Just as it’s best to learn a foreign language through immersion, learning a computer language is most effective when you begin using it before you know all the intricacies. In this vein, the book begins with a tutorial that will be comfortable for those familiar with structured programming, and by the end of Chapter 4, developers in this category should feel at home writing basic control flow programs. However, the key to excellence for C# developers is not memorizing syntax. To transition from simple programs to enterprise development, the C# developer must think natively in terms of objects and their relationships. To this end, Chapter 5’s Beginner Topics introduce classes and object-oriented development. The role of historically structured programming languages such as C, COBOL, and FORTRAN is still significant but shrinking, so it behooves software engineers to become familiar with object-oriented development. C# is an ideal language for making this transition because it was designed with object-oriented development as one of its core tenets.
  • Object-based and object-oriented developers: C++ and Java programmers, and many experienced Visual Basic programmers, fall into this category. Many of you are already completely comfortable with semicolons and curly braces. A brief glance at the code in Chapter 1 reveals that at its core, C# is similar to the C and C++ style languages that you already know.
  • C# professionals: For those already versed in C#, this book provides a convenient reference for less frequently encountered syntax. Furthermore, it provides answers to language details and subtleties seldom addressed. Most importantly, it presents the guidelines and patterns for programming robust and maintainable code. This book also aids in the task of teaching C# to others.

    With the emergence of C# 2.0, some of the most prominent enhancements are:

    • Partial classes (see Chapter 5)
    • Global namespace qualifiers (see Chapter 9)
    • Different access modifiers on property getters and setters (see Chapter 5)
    • Anonymous methods (see Chapter 13)
    • Generics (see Chapter 11)
    • Iterator topics (see Chapter 12)

    These topics are covered in detail for those not already familiar with them. Also pertinent to advanced C# development is the subject of pointers, in Chapter 17. Even experienced C# developers often do not understand this topic well.

Features of This Book

Essential C# 2.0 is a language book that adheres to the core C# Language 2.0 Specification. To help you understand the various C# constructs, it provides numerous examples demonstrating each feature. Accompanying each concept are guidelines and best practices, ensuring that code compiles, avoids likely pitfalls, and achieves maximum maintainability. To improve readability, code is specially formatted and chapters are outlined using mind maps.

Code Samples

The code snippets in most of this text can run on any implementation of the Common Language Infrastructure (CLI), including the Mono, Rotor, and Microsoft .NET platforms. Platform- or vendor-specific libraries are seldom used, except when communicating important concepts relevant only to those platforms (appropriately handling the single-threaded user interface of Windows, for example). Any code that specifically requires C# 2.0 compliance is called out in Appendix C: C# 2.0 Topics.

Although it might have been convenient to provide full code samples that you could copy into your own programs, doing so would detract you from learning a particular topic. Therefore, you need to modify the code samples before you can incorporate them into your programs. The core omission is error checking, such as exception handling. Also, code samples do not explicitly include using System statements. You need to assume the statement throughout all samples.

You can find sample code at http://mark.michaelis.net and at www.awprofessional.com/title/0321150775.

Mind Maps

Each chapter’s introduction includes a mind map, which serves as an outline that provides at-a-glance reference to each chapter’s content.

The theme of each chapter appears in the mind map’s center. High-level topics spread out from the core. Mind maps allow you to absorb the flow from high-level to more detailed concepts easily, with less chance of encountering very specific knowledge that you might not be looking for.

Helpful Notes

Depending on your level of experience, special code blocks and notes will help you navigate through the text.

  • Beginner Topics provide definitions or explanations targeted specifically toward entry-level programmers.
  • Advanced Topics enable experienced developers to focus on the material that is most relevant to them.
  • Callout notes highlight key principles in callout boxes so that readers easily recognize their significance.
  • Language Contrast sidebars identify key differences between C# and its predecessors to aid those familiar with other languages.

How This Book Is Organized

At a high level, software engineering is about managing complexity, and it is toward this end that I have organized Essential C# 2.0. Chapters 1–4 introduce structured programming, which enable you to start writing simple functioning code immediately. Chapters 5–9 present the object-oriented constructs of C#. Novice readers should focus on fully understanding this section before they proceed to the more advanced topics found in the remainder of this book.

Chapters 11–13 introduce additional complexity-reducing constructs, handling common patterns needed by virtually all modern programs. This leads to dynamic programming with reflection and attributes, which is used extensively for threading and interoperability, the chapters that follow.

The book ends with a chapter on the Common Language Infrastructure, which describes C# within the context of the development platform in which it operates. This chapter appears at the end because it is not C# specific and it departs from the syntax and programming style in the rest of the book. However, this chapter is suitable for reading at any time, perhaps most appropriately immedia...


Product Details

  • Paperback: 768 pages
  • Publisher: Addison-Wesley Professional; 1 edition (July 23, 2006)
  • Language: English
  • ISBN-10: 0321150775
  • ISBN-13: 978-0321150776
  • Product Dimensions: 9.4 x 7.2 x 1.4 inches
  • Shipping Weight: 2.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (15 customer reviews)
  • Amazon Best Sellers Rank: #1,265,353 in Books (See Top 100 in Books)

More About the Author

Mark Michaelis Chief Technical Architect and Trainer for IntelliTechture (http://intelliTechture.com). Mark holds a BA in philosophy from the University of Illinois and an MS in computer science from the Illinois Institute of Technology. In 2007, Mark was recognized as a Microsoft Regional Director. Since 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 developer conferences and has written numerous articles and books - Essential C# 4.0 is his most recent. When not bonding with his computer, Mark is busy with his family or training for another triathlon (having completed the Ironman in 2008). Mark lives in Spokane, Washington, with his wife Elisabeth, and three children, Benjamin, Hanna, and Abigail.

 

Customer Reviews

15 Reviews
5 star:
 (12)
4 star:
 (3)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.8 out of 5 stars (15 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

12 of 12 people found the following review helpful:
5.0 out of 5 stars Great coverage of C# -- smart graphics are a huge help, too, February 6, 2007
This review is from: Essential C# 2.0 (Paperback)
Essential C# 2.0 is somewhat introductory in nature, but there's enough coverage of more advanced topics to make it useful for experienced .NET developers as well. What's really different about this book is its tremendous visual impact. This book has perhaps the best visual layout of any I've seen, and it's so well done that it really helps the book get across the points Michaelis is making in this book.

Each chapter starts out with a mind map, one of my favorite tools for getting across highlights of a topic. There's a very nice deliniation of topic levels within chapters as well, with beginner and advanced topics being clearly separated out by headers and sidebar borders. The code examples get some great markup, too, with bits inside code being clearly marked out with grey background and bold text so you quickly see what the author's focusing on -- and the font for console output is way cool, too.

OK, so that's all the visual stuff which would be simply eye candy bling and rather useless if the content of the book didn't back it up. It's nice that the content does back it up. There's solid coverage of all the important topics: value vs. reference types, how the CLR/CLI works, basic object-oriented programming aspects of C#, and nice bits on delegates and events. C# 2.0 features get good coverage, and there are two nicely done chapters on threading. There's also a chapter covering interoperability via P/Invoke and unsafe code (pointers), a topic I've not seen covered in any other book.

Michaelis's writing style is clear, and he's nicely concise in the book. I appreciate that he kept the focus on C# and didn't try to span out into ASP.NET, web services, and a raft of various other topics that always seem to get lumped in with language books.

Overall I think this is a terriffic book and I'm happy to have it on my shelf!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


12 of 12 people found the following review helpful:
5.0 out of 5 stars a developer's best friend for c#, August 8, 2006
By 
This review is from: Essential C# 2.0 (Paperback)
"Essential C#" does for C# what Deitel did for Java. It's great book to learn C# from the ground up or for experienced developers. I was a bit skeptical of the claim that the book is for everyone - beginners, experienced developers, structured programmers, C/C++/Java developers and C# professionals. However, through a combination of sidebars and text that makes sense on different levels, the author managed to achieve this lofty goal.

This truly is a book for developers. It includes refactoring and other best practices. I especially liked the part on well formed types and how to properly implement equals. There is a strong emphasis on the language itself, which is great. The first mention of Windows Forms is almost page 600. A nice contrast to those book that teach the "language" solely through visual editors. The author also gives equal time to the .NET and Mono implementations.

The back cover states the book is "clear and concise." Weighing in at 700 pages, the book does manage to stay true to this claim. Code examples are short and focused. I only found one over a page long. Descriptions are clear, accurate and easy to follow. I strongly recommend this book to any considering working with C#. t really is "Essential" !
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


7 of 7 people found the following review helpful:
5.0 out of 5 stars Better than the book "The C# Programming Language" by Far, February 5, 2007
Amazon Verified Purchase(What's this?)
This review is from: Essential C# 2.0 (Paperback)
This book has extensive coverage of basic and not so basic features. I learned a lot about delegates and other advanced subjects that are usually skimmed through lightly. As I said in the title, I found this to be much better than the book "The C# Programming Language" by by Anders Hejlsberg, Scott Wiltamuth, and Peter Golde which was not much of a help to me because it was more like a long list linked book where this one deals with C# directly in each of its subjects it undertakes.

Buy it, you will not be disappointed.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(1)

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject