Home > Store > Programming > C#

larger cover

Add To My Wish List

Essential C# 3.0: For .NET Framework 3.5, 2nd Edition

Register your product to gain access to bonus material or receive a coupon.

  • Description
  • Extras
  • Reviews
  • Sample Content

Product Author Bios

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.

Essential C# 3.0 is an extremely well-written and well-organized “no-fluff” guide to C# 3.0, which will appeal to programmers at all levels of experience with C#. This fully updated edition dives deep into the new features that are revolutionizing programming, with brand new chapters covering query expressions, lambda expressions, extension methods, collection interface extensions, standard query operators, and LINQ as a whole.

 

Author Mark Michaelis covers the C# language in depth, and each importantconstruct is illustrated with succinct, relevant code examples. (Complete code examples are available online.) Graphical “mind maps” at the beginning of each chapter show what material is covered and how each topic relates to the whole. Topics intended for beginners and advanced readers are clearly marked.

 

Following an introduction to C#, readers 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, custom collections, and iterators
  • Delegates and lambda expressions
  • Standard query operators and query expressions
  • LINQ: language integrated query
  • Reflection, attributes, and declarative programming
  • Threading, synchronization, and multithreaded patterns
  • Interoperability and unsafe code
  • The Common Language Infrastructure that underlies C# 

Whether you are 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# 3.0, Essential C# 3.0 gives you just what you need to quickly get up and running writing C# applications.

Customer Reviews

16 of 17 people found the following review helpful
4.0 out of 5 stars Excellent book for intermediate C# programmers, September 24, 2008
By 
Andy Pennell (Kirkland, WA) - See all my reviews
(REAL NAME)   
This review is from: Essential C# 3.0: For .NET Framework 3.5 (2nd Edition) (Paperback)
To skip to the chase, I like this book a lot. My personal C# level is Intermediate: although I was on the Microsoft C# team for many years, I did close to zero C# coding as I worked on the debugger, which was entirely written in C++. Ironically once I left the team I did a lot more, and these days I am doing it daily. The book aims for a range of users, from beginners to advanced, but its hard for me to vouch how useful it is for either of those extremes. I can tell you that for Intermediates it is great.

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... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


9 of 10 people found the following review helpful
5.0 out of 5 stars K&R for C#, September 6, 2008
By 
T. Heavey (Spokane, WA USA) - See all my reviews
(REAL NAME)   
This review is from: Essential C# 3.0: For .NET Framework 3.5 (2nd Edition) (Paperback)
When I was learning C programming, many years ago, I started with The C Programming Language by Kernighan and Ritchie. This 228 page book provided an understanding of bare syntactic components of the language through the semantics that gave us the foundation to be productive.

Mark's book feels like K&R to me. A high level of detail provided, yet still readable. This book can be used for learning and for reference. I expect to keep it close on my desk as I did with K&R.

Of course, time has marched on and this book is not a thin 200 pages. It covers the complexity and nuance of modern abstractions of the C# language. This is especially true of the new advances in the 3.0 version that supports many cool new features many of us look forward to implementing.

Like K&R some may not grok C# through this book. But I believe that this book is the best place to start for getting the usage and reference knowledge of C# and its intimate integration into the .NET... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


6 of 7 people found the following review helpful
5.0 out of 5 stars A great book about C# and the CLR, November 3, 2008
By 
K. Osenkov (Redmond, WA USA) - See all my reviews
(REAL NAME)   
This review is from: Essential C# 3.0: For .NET Framework 3.5 (2nd Edition) (Paperback)
The book requires pretty much no programming background, and beginners can ramp up easily. One immediate thing about Essential C# 3.0 is that the book is very easy to read. You literally swallow page after page freely and effortlessly. This is one of the major reasons why I'm recommending this book to beginners who ask me where to start.

The book continues to do a great job at the intermediate level, with chapters about classes, inheritance, interfaces and value types. A great asset is a special chapter called Well-Formed Types, which collects a series of useful information and best practices.

C# 2.0 features are covered well in a dedicated chapter about Generics and also in other parts of the book (iterators and yield return, anonymous methods).

Of course, given the book's title, C# 3.0 features and LINQ are introduced and explained well in the following chapters: Delegates and Lambda Expressions, Collection Interfaces with Standard Query Operators,... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Share your thoughts with other customers:
 See all 11 customer reviews...

Online Sample Chapter

Delegates and Lambda Expressions in C# 3.0

Table of Contents

Figures xxiii

Tables xxv

Foreword xxvii

Preface xxxi

Acknowledgments xliii

About the Author xlv

 

Chapter 1: Introducing C# 1

Hello, World 2

Working with Variables 12

Comments 19

 

Chapter 2: Data Types 31

Fundamental Numeric Types 32

More Fundamental Types 40

null and void 51

Categories of Types 55

Nullable Modifier 57

Conversions between Data Types 58

Arrays 65

 

Chapter 3: Operators and Control Flow 83

Operators 84

Introducing Flow Control 98

Code Blocks ({}) 105

Scope 107

Boolean Expressions 108

Bitwise Operators (<<, >>, |, &, ^, ~) 114

Control Flow Statements, Continued 119

Jump Statements 130

C# Preprocessor Directives 136

 

Chapter 4: Methods and Parameters 147

Calling a Method 148

Declaring a Method 155

The using Directive 160

Returns and Parameters on Main() 164

Parameters 167

Recursion 174

Method Overloading 177

Basic Error Handling with Exceptions 180

 

Chapter 5: Classes 195

Defining and Instantiating a Class 199

Instance Fields 203

Instance Methods 205

Using the this Keyword 206

Access Modifiers 213

Properties 215

Constructors 229

Static 239

Extension Methods 249

Encapsulating the Data 250

Nested Classes 252

Partial Classes 254

 

Chapter 6: Inheritance 261

Derivation 262

Overriding the Base Class 272

Abstract Classes 284

Everything Ultimately Derives from System.Object 290

Verifying the Underlying Type with the is Operator 292

Conversion Using the as Operator 293

 

Chapter 7: Interfaces 295

Introducing Interfaces 296

Polymorphism through Interfaces 297

Interface Implementation 302

Casting between the Implementing Class and Its Interfaces 307

Interface Inheritance 308

Multiple Interface Inheritance 310

Extension Methods on Interfaces 311

Implementing Multiple Inheritance via Interfaces 313

Versioning 315

Interfaces Compared with Classes 317

 

Chapter 8: Value Types 321

Structs 322

Boxing 329

Enums 335

 

Chapter 9: Well-Formed Types 347

Overriding object Members 347

Operator Overloading 358

Referencing Other Assemblies 365

Defining Namespaces 370

XML Comments 373

Garbage Collection 377

Resource Cleanup 381

 

Chapter 10: Exception Handling 389

Multiple Exception Types 389

Catching Exceptions 391

General Catch Block 392

Guidelines for Exception Handling 395

Defining Custom Exceptions 397

 

Chapter 11: Generics 405

C# without Generics 406

Introducing Generic Types 411

Constraints 423

Generic Methods 436

Generic Internals 440

 

Chapter 12: Delegates and Lambda Expressions 445

Introducing Delegates 446

Anonymous Methods 456

System-Defined Delegates: Func<> 459

Lambda Expressions 460

 

Chapter 13: Events 479

Coding the Observer Pattern with Multicast Delegates 480

Events 495

 

Chapter 14: Collection Interfaces with Standard Query Operators 507

Anonymous Types and Implicit Local Variable Declaration 508

Collection Initializers 514

What Makes a Class a Collection: IEnumerable<T> 517

Standard Query Operators 523

 

Chapter 15: Query Expressions 555

Introducing Query Expressions 556

Query Expressions as Method Invocations 573

 

Chapter 16: Building Custom Collections 577

More Collection Interfaces 578

Primary Collection Classes 583

Providing an Index Operator 597

Returning Null or an Empty Collection 601

Iterators 601

 

Chapter 17: Reflection and Attributes 617

Reflection 618

Attributes 629

 

Chapter 18: Multithreading 657

Running and Controlling a Separate Thread 660

Passing Parameters to Threads 665

Thread Pooling 669

Unhandled Exceptions 670

Synchronization 672

Timers 691

 

Chapter 19: Multithreading Patterns 699

Asynchronous Results Pattern 700

Background Worker Pattern 714

Windows Forms 719

 

Chapter 20: Platform Interoperability and Unsafe Code 723

Platform Invoke 724

Pointers and Addresses 738

 

Chapter 21: The Common Language Infrastructure 749

Defining the Common Language Infrastructure (CLI) 750

CLI Implementations 751

C# Compilation to Machine Code 752

Runtime 755

Application Domains 760

Assemblies, Manifests, and Modules 761

Common Intermediate Language (CIL) 764

Common Type System (CTS) 764

Common Language Specification (CLS) 765

Base Class Library (BCL) 766

Metadata 766

 

Appendix A: Downloading and Installing the C# Compiler and the CLI Platform 771

 

Appendix B: Full Source Code Listings 775

 

Appendix C: C# 3.0 Topics 801

 

Index 807

Sample Pages

Download the sample pages

 
Best Value

Book + eBook Bundle  $89.98  $53.99

Book Price $39.99
eBook Price $14.00
eBook formats included

Buy

This book includes free shipping!

Buy

Book  $49.99  $39.99

Usually ships in 24 hours.

This book includes free shipping!

Buy

eBook (Watermarked)  $39.99  $31.99

Includes EPUB, MOBI, and PDF
About eBook Formats

This eBook includes the following formats, accessible from your Account page after purchase:

ePubEPUBThe open industry format known for its reflowable content and usability on supported mobile devices.

MOBIMOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

Adobe ReaderPDFThe popular standard, used most often with the free Adobe® Reader® software.

This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.

Purchase Reward: One Month Free Subscription
By completing any purchase on InformIT, you become eligible for an unlimited access one-month subscription to Safari Books Online.

Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.