INTELLIGENT.TECHNICAL.ARCHITECTURE.TRAINING

 
 
Essential C# 4.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.

Essential C# 4.0This 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 methods, 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 basedReflection, attributes, and dynamic programming
  • 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.

Errata Document

DOWNLOAD ERRATA DOCUMENT (DOC)

Sample Chapters

DOWNLOAD SAMPLE CHAPTER (PDF)

ESSENTIAL C# 3.5 (PREVIOUS EDITION)- MULTITHREADING CHAPTERS

“NOTE: this content is taken from the previous edition of Essential C# 3.5, not 4.0.”

Code Listing Source Code

The sample code doesn’t contain every code listing within the book. If there are particular samples missing that you would like to have please email and let me know.

DOWNLOAD SOURCE CODE (ZIP)

About the Author

Mark Michaelis is founder and president of IntelliTect. His expertise encompasses software architecture, Microsoft VSTS/TFS, BizTalk, SharePoint, and .NET.

He has been honored as a Microsoft MVP for C#, Visual Studio Team System, and the Windows SDK. In 2008, he was recognized as a Microsoft Regional Director. He serves on the Microsoft’s C#, VSTS/TFS, and WCF software design review team. 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 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 his next triathlon. Mark lives in Spokane, Washington, with his wife Elisabeth, and three children, Benjamin, Hanna, and Abigail.

Editorial Reviews

If you want to be a C# developer, or if you want to enhance your C# programming skills, there is no more useful tool than a well-crafted book on the subject. You are holding such a book in your hands.”

~ From the Foreword by Charlie Calvert, Community Program Manager,
Visual C#, Microsoft

Essential C# 3.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# 3.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# 3.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# 3.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.”

~ Michael Stokesbary, software engineer, Itron Inc.





Comments

  • Derrick Harrison says:

    Greetings from Calgary

    I did a download of your file EssentialCSharp.zip and it unpipped OK but Appendix B (what I really wanted) did not contain the source code. Am I doing something wrong?

    Also I have noticed a few typos but I could not find any errata listing. Did I miss it?

    Regards,

    Derrick Harrison.

  • Juan Zamudio says:

    Chapter 1, page 26 in the table says “C# 4.0 with .NET Framework 3.5 (visual Studio 2010)”, it should say Framework 4, I can’t believe that’s not in the errata.

  • Geovanny Hernandez says:

    Thank for this excellent book, I´m from Nicaragua, Sorry by my English, Gracias Mark :-)

  • Doug says:

    Page 703 states “… the multithreading chapters from the preceding edition of this book (Essential C# 3.5) are available for download … ” from this web page. So, where’s the link to download them?

  • Pavel Matuška says:

    Page 71:

    “// Retrieve 3rd item in languages array (Java)
    string language = languages[4];”

    I believe it either should be
    string language = languages[2]; (for 3rd)

    or

    // Retrieve 5th item in languages array (Java)
    string language = languages[4];

    as the text says.

  • cai says:

    hi
    i found a typo error in page 224
    it should be “class Program” instead of “class Profgram”

  • Steve says:

    Page 435 says “Listing 11.1 included a …” when I believe it meant “Listing 11.11″

  • Harsh says:

    Page 522, Line 4 in Paragraph 1 mentions “OnTemperatureHandler delegate” where I believe it should be “TemperatureChangeHandler delegate” // same thing in Line 1 of 2nd paragraph.

  • Harsh says:

    Page 628, paragraph 2, Line 5 has it as “On a System.Collections.Sorted sorted list” // should be “On a System.Collections.SortedList list”

  • Harsh says:

    Page 600, Line 3 under the section “The Let Clause”, it mentions “the groupby clause in Listing 15.8″ // since there is no such clause in this listing I assume author means “the orderby clause”.

  • Harsh says:

    Page 458, the 2nd code snippet(while explaining contravariance) shows the example as ” Pair contacts = (IPair) pdaPair;” // should be “Pair contacts = (IPair) pdaPair;”

  • Harsh says:

    sorry, in the above post angles got removed. Anyway on Page 458 I think the 2nd code snippet should be Pair #Contact# contacts = (IPair#PdaItem#) pdaPair;

  • Harsh says:

    *correction* Pair #Contact# contacts = (IPair#Contact#) pdaPair;

  • Harsh says:

    Page 256, line 4 under the section ‘Extension Methods’ says DirectoryInfo.Move() where I believe it should be DirectoryInfo.MoveTo() //same thing on last line of the page

  • Norton says:

    Looks like the author didn’t publish his email address, so I thought I would post my question here.
    I downloaded the source code and tried with the Chapter11 listing 11.02. Just was curious if the samples work, and this first sample doesn’t work. Looks like I had to add static Main() in the Program.cs to be able to call Sketch(), from LaunchMain(). But the Sketch() doesn’t do anything other than moving cursor to the right. Looks like the Console input buffer needs to be set properly. Is there something that I am missing, or this is how it is going to be throughout the book? It is disappointing that I paid for the book, and now I have to spend time trying to setup samples.

  • Javier says:

    ERRATA:

    (Kindle Edition, reading on Kindle Cloud Reader)

    In chapter 6, right before Listing 6.11, one can read:

    Overloading a member causes the runtime to call the most derived implementation (see Listing 6.11).

    It should read:

    Overriding a method causes the runtime to call the most derived implementation (see Listinhg 6.11).

  • JayGregg100 says:

    Errata:
    Softcover, 3rd edition

    Chapter 11, pg 434, Listing 11.11 shows:

    public Pair(T first, T second)
    {
    _Second = second;
    _Second = second;
    }

    It should read:
    public Pair(T first, T second)
    {
    _First = first;
    _Second = second;
    }

  •  

    IntelliTect Corporation
    3024 S. Bannen Ct.
    Spokane Valley, WA  99037

    Phone: (509) 720-8842
    Email: info@intelliTect.com

      COPYRIGHT © 2010 INTELLITECT. ALL RIGHTS RESERVED.