Home > Store > Programming > C#

larger cover

Add To My Wish List

Essential C# 4.0, 3rd Edition

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

  • Description
  • Extras
  • Reviews
  • Sample Content
  • Updates

Product Author Bios

Mark Michaelis is founder and president of IntelliTechture and a trainer with IDesign. His expertise encompasses software architecture, VSTS/TFS, BizTalk, SharePoint, and .NET. He has been honored as a Microsoft MVP for C#, Visual Studio Team System, and the Windows SDK, and is a Microsoft Regional Director. He serves on Microsoft’s C# software design review team and often speaks at developer conferences.

 

Essential C# 4.0 is a well-organized,“no-fluff” guide to all versions of C# for programmers at all levels of C# experience. This fully updated edition shows how to make the most of C# 4.0’s new features and programming patterns to write code that is simple, yet powerful.

 

This edition contains two new chapters on parallel programming, multi­threading, and concurrency, as well as extensive coverage of new C# 4.0 features: dynamic typing, variance, optional/named parameters, and many other new topics.

 

Mark Michaelis covers the C# language in depth, illustrating key constructs with succinct, downloadable code examples. Graphical “mind maps” at the beginning of each chapter show what material is covered and how individual topics interrelate. Topics intended for beginners and advanced readers are clearly marked, and the book includes indexes of C# versions (2.0, 3.0, and 4.0), which make it easy for readers to reference topics specific to a given release of C#.

 

Following an introduction to C#, readers learn about 

  • Best practices for object-oriented programming in C#
  • C# primitive data types, value and reference types, implicitly typed variables, anonymous types, plus dynamic typing in C# 4.0
  • Methods and parameters–including extension methods, partial meth­ods, and C# 4.0’s optional and named parameters
  • Generics, concurrent collections, and custom collections with iterators
  • Delegates, events, and lambda expressions
  • Collection interfaces and standard query operators
  • Query expressions and the tree expressions on which LINQ providers are based
  • Reflection, attributes, and dynamic programming
  • Parallel Query Processing with PLINQ
  • Multithreaded programming with the Task Parallel Library
  • Platform interoperability and unsafe code
  • The Common Language Infrastructure that underlies C# 

Whether you’re just starting out, are an experienced developer moving to C#, or are a seasoned C# programmer seeking to master C# 4.0’s most valuable enhancements, Essential C# 4.0 will help you write high-quality, highly effective code.

Related Article

Essential C#: An Interview with Mark Michaelis

Author's Site

Please visit the author's web site at http://intelliTechture.com/EssentialCSharp.

Customer Reviews

23 of 25 people found the following review helpful
5.0 out of 5 stars A Great Book, Just Make Sure It's What You Need, May 5, 2010
By 
Dave K (Colorado, USA) - See all my reviews
This review is from: Essential C# 4.0 (3rd Edition) (Microsoft Windows Development Series) (Paperback)
This is an excellent book about C# the language. Please read that again, as I can see a lot of people mistake what this book is - it is NOT a book about .Net (although it definitely is related to that) or about any specific frameworks that _use_ C#, such as WPF or ASP.Net or anything like that. It's a book about the C# language itself. And assuming that's what you want, it's a really well done book. It also clearly points out what C# features are in/from the different versions of C# much, much better than any other book I've ever seen.

I'm not going to give an overview of the chapters, as you can already see what those are in the information section above. The coverage of every topic is very thorough, and the writing and sample code are both of high quality. If I had to complain about something here, it would be that some things which seem like "advanced" topics aren't marked as such all the time, while others are.

This book is a great reference, but you'll... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5 of 5 people found the following review helpful
5.0 out of 5 stars A Rare Find, April 13, 2011
By 
Neil Laslett (Washington, DC) - See all my reviews
(REAL NAME)   
Amazon Verified Purchase(What's this?)
This review is from: Essential C# 4.0 (3rd Edition) (Microsoft Windows Development Series) (Paperback)
It's rare to find a tech book that is this well written. The ideas are all clearly laid out and explained, without a lot for window dressing "for dummies". This book is smart and moves forward at a good pace (not too fast, not too slow). If you're working in C# (in any capacity) and want to really wrap your head around the language - including some of the more unique or esoteric points - this is the book you've been looking for. Granted, it doesn't go into many of the technologies that use C# (such as ADO.NET) but that's not what this book is for. It's for really learning the language.

If you feel like you've been faking your way through your projects, only partially understanding more advanced topics like interfaces, inheritance, and delegates, please get this book. It will make you better in every aspect of your work, much to your own relief (and those who follow after).
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


11 of 14 people found the following review helpful
5.0 out of 5 stars Excellent Book for Harnessing the C# Language, July 16, 2010
Amazon Verified Purchase(What's this?)
This review is from: Essential C# 4.0 (3rd Edition) (Microsoft Windows Development Series) (Paperback)
Essential C# 4.0 is a well written, high quality book receiving a well deserved placement on my reference bookshelf. The author has done an excellent job focusing on the C# language itself without becoming buried in the .NET libraries. In other words how to use the C# language and its constructs to harness .NET.

When I got the book I first started reading the introduction and continued will into the first chapter. It was such an easy read that I pretty much read the whole book from front to back. Even in the early chapters, such as flow control, I was finding myself picking up features or behaviors that I had previously overlooked or plainly forgotten. In addition to including the latest C# 4.0 features such as parallel task library, a dedicated C# 4.0 table of contents lists the new features and patterns so I can quickly catch up. An interesting feature is the mind map at the beginning of every chapter visually representing its contents. I like that how different options... 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 18 customer reviews...

Online Sample Chapter

Essential C# 4.0: Delegates and Lambda Expressions

Table of Contents

Contents of C# 4.0 Topics xxv

Figures xxvii

Tables xxix

Foreword xxxi

Preface xxxv

Acknowledgments xlvii

About the Author li

 

Chapter 1: Introducing C# 1

Hello, World 2

C# Syntax Fundamentals 4

Working with Variables 12

Console Input and Output 16

Comments 20

Managed Execution and the Common Language Infrastructure 23

C# and .NET Versioning 26

Common Intermediate Language and ILDASM 27

Summary 30

 

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 64

Summary 81

 

Chapter 3: Operators and Control Flow 83

Operators 84

Introducing Flow Control 98

Code Blocks ({}) 105

Scope and Declaration Space 107

Boolean Expressions 109

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

Control Flow Statements, Continued 121

Jump Statements 132

C# Preprocessor Directives 138

Summary 145

 

Chapter 4: Methods and Parameters 149

Calling a Method 150

Declaring a Method 157

The using Directive 161

Returns and Parameters on Main() 165

Parameters 168

Recursion 176

Method Overloading 179

Optional Parameters 182

Basic Error Handling with Exceptions 186

Summary 199

 

Chapter 5: Classes 201

Declaring and Instantiating a Class 205

Instance Fields 209

Instance Methods 211

Using the this Keyword 213

Access Modifiers 220

Properties 222

Constructors 236

Static Members 247

Extension Methods 256

Encapsulating the Data 258

Nested Classes 260

Partial Classes 262

Summary 267

 

Chapter 6: Inheritance 269

Derivation 270

Overriding the Base Class 281

Abstract Classes 293

All Classes Derive from System.Object 299

Verifying the Underlying Type with the is Operator 301

Conversion Using the as Operator 302

Summary 303

 

Chapter 7: Interfaces 305

Introducing Interfaces 306

Polymorphism through Interfaces 307

Interface Implementation 312

Converting between the Implementing Class and Its

Interfaces 318

Interface Inheritance 318

Multiple Interface Inheritance 321

Extension Methods on Interfaces 322

Implementing Multiple Inheritance via Interfaces 323

Versioning 326

Interfaces Compared with Classes 328

Summary 329

 

Chapter 8: Value Types 331

Structs 332

Boxing 339

Enums 346

Summary 356

 

Chapter 9: Well-Formed Types 357

Overriding object Members 357

Operator Overloading 369

Referencing Other Assemblies 377

Defining Namespaces 382

XML Comments 385

Garbage Collection 390

Resource Cleanup 393

Lazy Initialization 400

Summary 403

 

Chapter 10: Exception Handling 405

Multiple Exception Types 405

Catching Exceptions 407

General Catch Block 409

Guidelines for Exception Handling 411

Defining Custom Exceptions 414

Summary 419

 

Chapter 11: Generics 421

C# without Generics 422

Introducing Generic Types 427

Constraints 439

Generic Methods 453

Covariance and Contravariance 457

Generic Internals 463

Summary 467

 

Chapter 12: Delegates and Lambda Expressions 469

Introducing Delegates 470

Anonymous Methods 480

System-Defined Delegates: Func<> 483

Lambda Expressions 486

Summary 506

 

Chapter 13: Events 507

Coding the Observer Pattern with Multicast Delegates 508

Events 523

Summary 533

 

Chapter 14: Collection Interfaces with Standard Query Operators 535

Anonymous Types and Implicitly Typed Local Variables 536

Collection Initializers 543

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

Standard Query Operators 552

Summary 586

 

Chapter 15: LINQ with Query Expressions 589

Introducing Query Expressions 590

Query Expressions as Method Invocations 608

Summary 609

 

Chapter 16: Building Custom Collections 611

More Collection Interfaces 612

Primary Collection Classes 617

Providing an Index Operator 630

Returning Null or an Empty Collection 634

Iterators 634

Summary 650

 

Chapter 17: Reflection, Attributes, and Dynamic Programming 651

Reflection 652

Attributes 663

Programming with Dynamic Objects 688

Summary 699

 

Chapter 18: Multithreading 701

Running and Controlling a Separate Thread 706

Executing Iterations in Parallel 724

Running LINQ Queries in Parallel 734

Multithreading before .NET Framework 4 738

Unhandled Exceptions on the AppDomain 744

Summary 746

 

Chapter 19: Synchronization and More Multithreading Patterns 749

Synchronization 750

Timers 778

Asynchronous Programming Model 783

Asynchronous Delegate Invocation 797

Event-Based Asynchronous Pattern (EAP) 801

Background Worker Pattern 804

Windows UI Programming 809

Summary 814

 

Chapter 20: Platform Interoperability and Unsafe Code 815

Platform Invoke 816

Pointers and Addresses 830

Summary 839

 

Chapter 21: The Common Language Infrastructure 843

Defining the Common Language Infrastructure (CLI) 844

CLI Implementations 845

C# Compilation to Machine Code 847

Runtime 849

Application Domains 854

Assemblies, Manifests, and Modules 855

Common Intermediate Language (CIL) 858

Common Type System (CTS) 858

Common Language Specification (CLS) 859

Base Class Library (BCL) 860

Metadata 860

Summary 862

 

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

Platform 865

Appendix B: Full Source Code Listings 869

Appendix C: Concurrent Classes from System.Collections.Concurrent 895

Appendix D: C# 2.0 Topics 899

Appendix E: C# 3.0 Topics 903

Appendix F: C# 4.0 Topics 905

 

Index 907

Sample Pages

Download the sample pages (includes Chapter 12 and Index)

 
Best Value

Book + eBook Bundle  $98.98  $59.39

Book Price $43.99
eBook Price $15.40
eBook formats included

Buy

This book includes free shipping!

Buy

Book  $54.99  $43.99

Usually ships in 24 hours.

This book includes free shipping!

Buy

eBook (Watermarked)  $43.99  $35.19

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.