Home > Store

Essential C# 4.0, 3rd Edition

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

Essential C# 4.0, 3rd Edition


  • Sorry, this book is no longer in print.
Not for Sale

eBook (Watermarked)

  • Your Price: $38.39
  • List Price: $47.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The 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 discreetly watermarking it with your name, making it uniquely yours.



  • An extremely well-written and well-organized guide to C# 4.0, which will appeal to programmers at all levels of experience
  • Offers complete, in-depth coverage of all the new features of C# 4.0, including two new chapters on multithreading
  • Concise yet deep coverage with no fluff
  • Appeals equally to programmers new to C# as well as those who have used a previous version of C#
  • Will publish day and date with C# 4.0
  • Instructor resources are available for this title through the Pearson IRC (instructor resource center) and will include Power Point slides, exercises, and answers for each chapter
  • Description

    • Copyright 2010
    • Dimensions: 7" x 9-1/8"
    • Pages: 984
    • Edition: 3rd
    • Book
    • ISBN-10: 0-321-69469-4
    • ISBN-13: 978-0-321-69469-0

    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.

    Sample Content

    Online Sample Chapter

    Essential C# 4.0: Delegates and Lambda Expressions

    Sample Pages

    Download the sample pages (includes Chapter 12 and Index)

    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

    More Information

    Unlimited one-month access with your purchase
    Free Safari Membership